#pragma once #include "GetInterfaceData.h" /** * @brief IDL文件生成类,用于根据接口数据生成IDL文件 */ class GenIDL { public: /** * @brief 生成IDL文件 * @param interfaceData 接口数据 * @return 是否生成成功 */ static bool generateIDL(const AllInterfaceData &interfaceData); /** * @brief 获取IDL文件路径 * @return IDL文件完整路径 */ static std::string &getIDLFilePath() { return idlFilePath; } /** * @brief 创建构型目录 * @return 是否创建成功 */ static bool createConfigDirectory(const std::string &configName); private: /** * @brief 生成IDL文件内容 * @param interfaceData 接口数据 * @return IDL文件内容 */ static std::string generateIDLContent(const AllInterfaceData &interfaceData); /** * @brief 生成结构体定义 * @param structData 结构体数据 * @return 结构体定义字符串 */ static std::string generateStructDefinition(const StructInterfaceData &structData); static std::string idlFilePath; ///< IDL文件完整路径 };