#ifndef DISTRIBUTION_SERVICE_CONFIG_H #define DISTRIBUTION_SERVICE_CONFIG_H #include "CCDatagramSocket.h" #include "CCFile.h" #include "CCSystem.h" #include "CCJSONObject.h" #include "CCString.h" class Config { JSON_TYPE_INTRUSIVE(Config,IP,OrderPort,StreamPort,HttpPort,Flag,ServerID,ServerIP,ServerPort,ID ,Name); public: int ServerID = 2; int ID = 1; CTL::String Name = "Distribution 1"; int ONLINEVol = 1; CTL::String IP = "0.0.0.0"; CTL::String ServerIP = "192.168.2.208"; // 目标主服务器IP int ServerPort = 10060; // 目标主服务器端口 int OrderPort = 10050; // 10060 int StreamPort = 10062; int HttpPort = 9090; bool Flag = false; CTL::DatagramSocket* m_socket_udp = nullptr; CTL::IPVX IP_x = CTL::IPV4; private: public: static void Save(); static void Init(); static Config* getConfig(); static bool IsRunning(); static CTL::String GetFileDir() { return CCFile::NormalizePath("./"); } static CTL::String GetSettingDir() { const auto root = GetFileDir(); const auto path = CCFile::NormalizePath(root + "/Setting"); const CCFile file(path); if(!file.isExists()){ CCFile::Create(path,true); } return path; } static CTL::String GetSettingDB() { const auto root = GetSettingDir(); return CCFile::NormalizePath(root + "/Setting.json"); } static CTL::String GetIP(); }; #endif