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文件完整路径
|
|||
|
};
|