XNSim/XNModelGenServer/XNModelGen.h

57 lines
1.4 KiB
C
Raw Normal View History

#pragma once
#include <string>
#include <vector>
class XNModelGen
{
public:
XNModelGen();
~XNModelGen();
int Initialize(const std::string &className, const std::string &version,
const std::string &planeName, std::string &errorMsg);
int GenerateCode(std::string &errorMsg);
private:
std::string GetXNCorePath();
std::string UpperCase(const std::string &str);
void ParseStructName(const std::string &str, std::string &structName,
std::string &interfaceName);
bool GenerateHeaderFile();
bool GenerateSourceFile();
bool GenerateCMakeLists();
bool GenerateConfigFile();
private:
std::string m_planeName;
std::string m_className;
std::string m_version;
std::string m_confID;
std::string m_name;
std::string m_author;
std::string m_description;
std::string m_createTime;
std::string m_changeTime;
std::string m_runFreq;
std::string m_runNode;
std::string m_priority;
std::string m_dataPackagePath;
std::string m_dataPackageName;
std::string m_dataPackageHeaderName;
std::string m_dataPackageEntryPoint;
std::string m_dataPackageInterfaceName;
bool m_hasDataPackage;
std::string m_inputStructName;
std::string m_inputStructName_Interface;
std::string m_outputStructName;
std::string m_outputStructName_Interface;
std::string m_heartStructName;
std::string m_heartStructName_Interface;
std::string m_confName;
std::string m_workPath;
std::string m_modelsPath;
std::string m_codePath;
std::vector<std::string> m_cmdList;
};