Files
QTradeProgram/TradingCore/core/TradingCore.h

67 lines
1.9 KiB
C
Raw Normal View History

2026-02-25 23:01:42 +08:00
#ifndef TRADING_CORE_H
#define TRADING_CORE_H
#include <QObject>
#include "../data_processing/DataBuffer.h"
#include "../data_processing/DataQualityValidator.h"
#include "../data_processing/OrderProcessor.h"
#include "../data_processing/BigOrderManager.h"
#include "../network_communication/FaultToleranceManager.h"
#include "../network_communication/SubscriptionManager.h"
#include "../configuration/ConfigurationManager.h"
#include "../configuration/LogManager.h"
#include "../utilities/EventBus.h"
class TradingCore : public QObject
{
Q_OBJECT
public:
static TradingCore* instance();
// Core service access
SubscriptionManager* subscriptionManager();
OrderProcessor* orderProcessor();
BigOrderManager* bigOrderManager();
LogManager* logManager();
EventBus* eventBus();
// New system component access
DataBuffer* dataBuffer();
DataQualityValidator* dataQuality();
FaultToleranceManager* faultTolerance();
ConfigurationManager* configManager();
// System control
void initialize();
void shutdown();
// System status
bool isInitialized() const { return m_initialized; }
QString getSystemStatus() const;
signals:
void systemInitialized();
void systemShutdown();
void errorOccurred(const QString& error);
private:
explicit TradingCore(QObject *parent = nullptr);
~TradingCore();
bool m_initialized = false;
SubscriptionManager* m_subscriptionManager = nullptr;
OrderProcessor* m_orderProcessor = nullptr;
BigOrderManager* m_bigOrderManager = nullptr;
LogManager* m_logManager = nullptr;
EventBus* m_eventBus = nullptr;
// New system components
DataBuffer* m_dataBuffer = nullptr;
DataQualityValidator* m_dataQuality = nullptr;
FaultToleranceManager* m_faultTolerance = nullptr;
ConfigurationManager* m_configManager = nullptr;
};
#endif // TRADING_CORE_H