64 lines
1.8 KiB
C++
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 |