Files
QTradeProgram/cleaned_source_code/Sqbase/Sqbase.h
2026-02-25 23:01:42 +08:00

64 lines
1.8 KiB
C++

#ifndef SQBASE_H
#define SQBASE_H
#include "core/qtradecore.h"
#include "data/qdatabuffer.h"
#include "data/qdataquality.h"
#include "data/qorderprocessor.h"
#include "data/qbigordermanager.h"
#include "data/OrderBookParser.h"
#include "network/qfaulttolerance.h"
#include "network/qsubscriptionmanager.h"
#include "config/qconfigmanager.h"
#include "config/qlogmanager.h"
#include "utils/qeventbus.h"
#include "utils/ObjectPool.h"
#include "utils/ordertypedelegate.h"
#include "BZStruct.h"
namespace Sqbase {
enum SystemInitFlags {
InitDataBuffer = 0x01,
InitDataQuality = 0x02,
InitFaultTolerance = 0x04,
InitConfigManager = 0x08,
InitAll = 0x0F
};
enum class SystemStatus {
Uninitialized,
Initializing,
Running,
Degraded,
Stopping,
Stopped,
Error
};
struct SystemConfig {
int bufferSize = 10000;
int maxPacketsPerSecond = 1000;
int heartbeatInterval = 30000;
int reconnectAttempts = 10;
bool enableDataValidation = true;
bool enableFaultTolerance = true;
bool enablePerformanceMonitoring = true;
};
class System {
public:
static QTradeCore* core();
static QDataBuffer* dataBuffer();
static QDataQuality* dataQuality();
static QOrderProcessor* orderProcessor();
static QBigOrderManager* bigOrderManager();
static QFaultTolerance* faultTolerance();
static QSubscriptionManager* subscriptionManager();
static QConfigManager* configManager();
static QLogManager* logManager();
static QEventBus* eventBus();
static bool initialize(const SystemConfig& config = SystemConfig(), int flags = InitAll);
static void shutdown();
static SystemStatus status();
static QString statusString();
static QString version();
static QDateTime buildTime();
static QString systemInfo();
};
}
#endif