32 int main(
int argc,
char* argv[] )
34 #if defined( HAVE_CRTDBG_H ) && !defined( NDEBUG )
36 _CrtSetDbgFlag( _CRTDBG_LEAK_CHECK_DF | _CrtSetDbgFlag( _CRTDBG_REPORT_FLAG ) );
43 std::string dirInclude =
".";
44 std::string dirSource =
".";
47 for(; 0 < argc; --argc, ++argv )
49 if(
'-' != argv[0][0] )
65 sLog.Error(
"XMLPktGen",
"Error parsing options: no parameter for include dir" );
80 sLog.Error(
"XMLPktGen",
"Error parsing options: no parameter for source dir" );
92 sLog.Error(
"XMLPktGen",
"Unknown option '%c'", argv[0][1] );
99 sLog.Error(
"XMLPktGen",
"Error processing files: no files given" );
105 for(; 0 < argc; --argc, ++argv )
107 std::string name = *argv;
110 size_t slash = name.rfind(
'/' );
111 if( std::string::npos == slash )
112 slash = name.rfind(
'\\' );
113 if( std::string::npos == slash )
117 size_t dot = name.rfind(
'.' );
118 if( slash > dot || std::string::npos == dot )
121 name = name.substr( slash + 1, dot - slash - 1 );
123 gen.
SetHeaderFile( ( dirInclude +
'/' + name +
".h" ).c_str() );
124 gen.
SetSourceFile( ( dirSource +
'/' + name +
".cpp" ).c_str() );
135 printf(
"Usage: eve-xmlpktgen [OPTIONS] FILE [FILE [...]]\n"
138 " -I directory Output header files to directory\n"
139 " -S directory Output source files to directory\n"
140 " -h Show this help and exit\n"
bool ParseFile(const char *file)
Parses file using registered parsers.
#define sLog
Evaluates to a NewLog instance.
void SetHeaderFile(const char *header)
Sets header file.
void SetSourceFile(const char *source)
Sets source file.
int main(int argc, char *argv[])
XML Packet Generator class.