Files

39 lines
1.1 KiB
C
Raw Permalink Normal View History

2026-02-25 23:01:42 +08:00
#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