Update 更新文档
This commit is contained in:
89
cleaned_source_code/core/TradingSystem.h
Normal file
89
cleaned_source_code/core/TradingSystem.h
Normal file
@@ -0,0 +1,89 @@
|
||||
#ifndef TRADING_SYSTEM_H
|
||||
#define TRADING_SYSTEM_H
|
||||
#include <QObject>
|
||||
#include <QTimer>
|
||||
#include <QMutex>
|
||||
#include <QMap>
|
||||
#include <QList>
|
||||
#include "../common_structures/TradingStructures.h"
|
||||
class DataBuffer;
|
||||
class DataQualityValidator;
|
||||
class OrderProcessor;
|
||||
class BigOrderManager;
|
||||
class OrderBookParser;
|
||||
class FaultToleranceManager;
|
||||
class SubscriptionManager;
|
||||
class ConfigurationManager;
|
||||
class LogManager;
|
||||
class EventBus;
|
||||
class TradingSystem : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
static TradingSystem* instance();
|
||||
bool initialize(const Trading::SystemConfig& config = Trading::SystemConfig());
|
||||
void shutdown();
|
||||
bool isInitialized() const { return m_initialized; }
|
||||
DataBuffer* dataBuffer() const;
|
||||
DataQualityValidator* dataQuality() const;
|
||||
OrderProcessor* orderProcessor() const;
|
||||
BigOrderManager* bigOrderManager() const;
|
||||
OrderBookParser* orderBookParser() const;
|
||||
FaultToleranceManager* faultTolerance() const;
|
||||
SubscriptionManager* subscriptionManager() const;
|
||||
ConfigurationManager* configManager() const;
|
||||
LogManager* logManager() const;
|
||||
EventBus* eventBus() const;
|
||||
void start();
|
||||
void stop();
|
||||
void pause();
|
||||
void resume();
|
||||
bool isRunning() const { return m_running; }
|
||||
bool isPaused() const { return m_paused; }
|
||||
Trading::SystemConfig getSystemConfig() const;
|
||||
Trading::PerformanceMetrics getPerformanceMetrics() const;
|
||||
QString getSystemStatus() const;
|
||||
QMap<QString, QVariant> getSystemStats() const;
|
||||
void setDataFlowEnabled(bool enabled);
|
||||
bool isDataFlowEnabled() const { return m_dataFlowEnabled; }
|
||||
QString getLastError() const;
|
||||
void clearErrors();
|
||||
signals:
|
||||
void systemInitialized();
|
||||
void systemStarted();
|
||||
void systemStopped();
|
||||
void systemPaused();
|
||||
void systemResumed();
|
||||
void systemError(const QString& error);
|
||||
void systemStatusChanged(const QString& status);
|
||||
void performanceMetricsUpdated(const Trading::PerformanceMetrics& metrics);
|
||||
private:
|
||||
explicit TradingSystem(QObject *parent = nullptr);
|
||||
~TradingSystem();
|
||||
void initializeComponents();
|
||||
void shutdownComponents();
|
||||
void updatePerformanceMetrics();
|
||||
void handleComponentError(const QString& component, const QString& error);
|
||||
void validateSystemState();
|
||||
bool m_initialized = false;
|
||||
bool m_running = false;
|
||||
bool m_paused = false;
|
||||
bool m_dataFlowEnabled = true;
|
||||
Trading::SystemConfig m_systemConfig;
|
||||
Trading::PerformanceMetrics m_performanceMetrics;
|
||||
DataBuffer* m_dataBuffer = nullptr;
|
||||
DataQualityValidator* m_dataQuality = nullptr;
|
||||
OrderProcessor* m_orderProcessor = nullptr;
|
||||
BigOrderManager* m_bigOrderManager = nullptr;
|
||||
OrderBookParser* m_orderBookParser = nullptr;
|
||||
FaultToleranceManager* m_faultTolerance = nullptr;
|
||||
SubscriptionManager* m_subscriptionManager = nullptr;
|
||||
ConfigurationManager* m_configManager = nullptr;
|
||||
LogManager* m_logManager = nullptr;
|
||||
EventBus* m_eventBus = nullptr;
|
||||
QTimer* m_monitoringTimer;
|
||||
QTimer* m_metricsUpdateTimer;
|
||||
QStringList m_errorLog;
|
||||
mutable QMutex m_mutex;
|
||||
};
|
||||
#endif
|
||||
Reference in New Issue
Block a user