67 lines
1.9 KiB
C
67 lines
1.9 KiB
C
|
|
#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
|