#pragma once #include #include #include #include "MetaTraderHandler.h" class MtServiceImpl; class MtService { private: MtService(); ~MtService(); public: static MtService& GetInstance(); void InitExpert(int port, int handle, std::unique_ptr mt_handler); void DeinitExpert(int handle); void SendEvent(int handle, int event_type, const std::string& payload); void SendResponse(int handle, const std::string& payload); int GetCommandType(int handle); std::string GetCommandPayload(int handle); void LogError(const std::string& error); private: std::unique_ptr impl_; };