47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
#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文件完整路径
|
||
};
|