39 lines
1.1 KiB
C++
39 lines
1.1 KiB
C++
#ifndef QTRADECORE_H
|
|
#define QTRADECORE_H
|
|
#include <QObject>
|
|
#include <QMutex>
|
|
#include <QMutexLocker>
|
|
class QEventBus;
|
|
class QSubscriptionManager;
|
|
class QBigOrderManager;
|
|
class QLogManager;
|
|
class QOrderProcessor;
|
|
class QTradeCore : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
static QTradeCore* instance();
|
|
explicit QTradeCore(QObject *parent = nullptr);
|
|
~QTradeCore();
|
|
void initialize();
|
|
void shutdown();
|
|
QSubscriptionManager* subscriptionManager();
|
|
QOrderProcessor* orderProcessor();
|
|
QBigOrderManager* bigOrderManager();
|
|
QLogManager* logManager();
|
|
QEventBus* eventBus();
|
|
bool isInitialized() const { return m_initialized; }
|
|
QString getSystemStatus() const;
|
|
signals:
|
|
void systemInitialized();
|
|
void systemShutdown();
|
|
void errorOccurred(const QString& error);
|
|
private:
|
|
bool m_initialized = false;
|
|
QSubscriptionManager* m_subscriptionManager = nullptr;
|
|
QOrderProcessor* m_orderProcessor = nullptr;
|
|
QBigOrderManager* m_bigOrderManager = nullptr;
|
|
QLogManager* m_logManager = nullptr;
|
|
QEventBus* m_eventBus = nullptr;
|
|
};
|
|
#endif |