// LocalConfig.h #pragma once // Linux 兼容性定义 #define LOCALCONFIG_API #define LOCALCONFIG_C_API extern "C" // 基本类型定义 typedef int BOOL; // 布尔类型 #define TRUE 1 // 布尔真值 #define FALSE 0 // 布尔假值 #define MAX_PATH 260 // 最大路径长度 // 进程类型枚举 enum CCOS_PROC_TYPE { CCOS_PROC_SLAVE = 0, // 从进程 CCOS_PROC_MASTER, // 主进程 CCOS_PROC_CHANNEL, // 通道进程 CCOS_PROC_CLIENT // 客户端进程 }; #include #include #include "Definitions.h" #include "ResDataObject.h" #include "common_api.h" using namespace std; // 函数声明 // ================================================================ // 添加驱动配置文件路径 LOCALCONFIG_API bool AddDriverConfig(const char* pszDriverConfig); // 获取指定索引的驱动配置文件路径 LOCALCONFIG_API const char* GetDriverConfigFilepath(size_t idx); // 设置配置模式(进程角色) LOCALCONFIG_API void SetConfigMode(CCOS_PROC_TYPE Master); // 获取当前配置模式 LOCALCONFIG_API CCOS_PROC_TYPE GetConfigMode(); LOCALCONFIG_API ResDataObject tryGetLocalOptions(const char* pKey); // 获取 EBus 日志标志 LOCALCONFIG_API bool getEbusLogFlag(); // 获取本地 EBus ID LOCALCONFIG_API ResDataObject& getLocalEbusId(); // 获取本地 EBus 路由器 IP LOCALCONFIG_API ResDataObject& getLocalEbusRouterIp(); // 获取本地 EBus 端口 LOCALCONFIG_API ResDataObject& getLocalEbusPort(); // 获取通道 EBus ID LOCALCONFIG_API ResDataObject& getChannelEbusId(); // 获取通道根路径 LOCALCONFIG_API ResDataObject& getChannelRootpath(); // 获取本地机器 ID LOCALCONFIG_API ResDataObject& getLocalMachineId(); // 获取本地 IP 地址 LOCALCONFIG_API ResDataObject& getLocalIpAddress(); // 获取模块标题(可执行文件名) LOCALCONFIG_API ResDataObject& GetModuleTitle(); // 获取根路径 LOCALCONFIG_API ResDataObject& getRootpath(); // 设置日志根路径 LOCALCONFIG_API void setLogRootpath(const char* pszRootPath); // 获取日志根路径 LOCALCONFIG_API ResDataObject& getLogRootpath(); // 获取 P2P 标志 LOCALCONFIG_API bool getP2pFlag(); // 获取 P2P 服务器 IP LOCALCONFIG_API ResDataObject getP2pServerIp(); // 获取 P2P 角色 LOCALCONFIG_API ResDataObject getP2pRole(); // 创建工作路径 LOCALCONFIG_API ResDataObject MakeWorkPath(ResDataObject& probeInfo, ResDataObject& Connection, ResDataObject& ProcPath, bool ForWork); // 创建设备路径 LOCALCONFIG_API ResDataObject MakeDevicePath(ResDataObject& probeInfo, ResDataObject& Connection, ResDataObject& SubPath); // 创建 CCOS 路径 LOCALCONFIG_API ResDataObject MakeCcosPath(ResDataObject& probeInfo, ResDataObject& Connection, ResDataObject& SubPath, bool isDriver = false); // 获取完整驱动配置文件列表 LOCALCONFIG_API bool GetFullDriverConfigFiles(ResDataObject& filelist); // 获取完整驱动配置路径(扩展版本) LOCALCONFIG_API DWORD GetFullDriverConfigPathEx(ResDataObject& PathList); // 获取完整驱动配置路径 LOCALCONFIG_API ResDataObject& GetFullDriverConfigPath(); // 获取32位完整驱动配置路径 LOCALCONFIG_API ResDataObject& GetFullDriverConfigPathX32(); // 获取特定驱动配置文件列表 LOCALCONFIG_API bool GetSpecificDriverConfigFiles(ResDataObject& filelist, bool FullDriverList); // 获取驱动配置文件列表 LOCALCONFIG_API bool GetDriverConfigFiles(ResDataObject& filelist); // 获取驱动配置路径 LOCALCONFIG_API ResDataObject& GetDriverConfigPath(); // 获取驱动配置路径(扩展版本) LOCALCONFIG_API DWORD GetDriverConfigPathEx(ResDataObject& PathList); // 获取32位驱动配置路径 LOCALCONFIG_API ResDataObject& GetDriverConfigPathX32(); // 获取日志配置路径 LOCALCONFIG_API ResDataObject& GetLogConfigPath(); // 获取驱动 EBus ID LOCALCONFIG_API bool GetDriverEbusId(const char* pConfigFilepath, ResDataObject& BusId, ResDataObject& DriverPath, bool ForceUpdate = false); // 获取驱动进程路径 LOCALCONFIG_API bool GetDriverProcessPath(const char* pConfigFilepath, ResDataObject& DriverProcessPath); // 获取驱动进程信息 LOCALCONFIG_API bool GetDriverProcInfo(const char* pConfigFilepath, ResDataObject& DriverProcInfo); // 获取日志模式资源 LOCALCONFIG_API bool GetLogPatternResource(ResDataObject& Pattern); // 生成唯一 EBus ID LOCALCONFIG_API bool MakeUniqEbusId(ResDataObject& res); // 获取客户端唯一 EBus ID LOCALCONFIG_API bool GetClientUniqEbusId(ResDataObject& res); // 获取共享内存设置 LOCALCONFIG_API bool GetShareMemSettings(DWORD& BigBlockSize, DWORD& BigBlockCount, DWORD& SmallBlockSize, DWORD& SmallBlockCount); // 获取共享内存日志级别 LOCALCONFIG_API bool GetShareMemLogLevel(int& LogLevel); // 获取主ID(设备类型) LOCALCONFIG_API string& GetMajorID(); // 获取模块配置文件路径(基于硬件信息) LOCALCONFIG_API string GetModuleConfigrateFilePath(ResDataObject& resHardware); // 获取模块配置文件路径(基于设备路径) LOCALCONFIG_API string GetModuleConfigrateFilePath(string devDioPath); // 获取CCOS模块配置文件路径 LOCALCONFIG_API string GetCcosModuleConfigrateFilePath(string devDioPath, bool useTemplate = false); // 获取模块设备路径 LOCALCONFIG_API string GetModuleDevicePath(ResDataObject& resHardware); // 清除所有模块配置 LOCALCONFIG_API BOOL ClearAllModuleConfigrate(); // 获取设备ID LOCALCONFIG_API string GetDeviceID();