123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- // 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 <string>
- #include <vector>
- #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();
|