fg::Int main( const Args & _ARGS ) { auto help = false; fg::Unique< fg::Utf32 >::type mainFileNameUnique; fg::Unique< fg::Utf32 >::type mainNameUnique; fg::Unique< gf::BootConfig >::type configUnique; if( parseArgs( help , mainFileNameUnique , mainNameUnique , configUnique , _ARGS ) == false ) { errorArgs(); return 1; } if( help ) { helpArgs(); return 0; } const auto & MAIN_FILE_NAME = *mainFileNameUnique; const auto & MAIN_NAME = *mainNameUnique; const auto & CONFIG = *configUnique; return gf::boot( MAIN_FILE_NAME , MAIN_NAME , CONFIG ); }
void readArgs(int argc, const char * argv[], int * port, int * bufferSize, bool * isQuiet, bool * isDebug, int * maxClient) { for(int i = 1 ; i < argc ; i++) { if(strcmp(argv[i],"--port") == 0 || strcmp(argv[i],"-p") == 0 ) { *port = getNextArgValue(argc,argv,i); i++; } else if(strcmp(argv[i],"--buffer") == 0 || strcmp(argv[i],"-b") == 0 ) { *bufferSize = getNextArgValue(argc,argv,i); i++; } else if(strcmp(argv[i],"--quiet") == 0 || strcmp(argv[i],"-q") == 0 ) { *isQuiet = true; } else if(strcmp(argv[i],"--debug") == 0 || strcmp(argv[i],"-d") == 0 ) { *isDebug = true; } else if(strcmp(argv[i],"--max") == 0 || strcmp(argv[i],"-m") == 0 ) { *maxClient = getNextArgValue(argc,argv,i); i++; } else { if(! (strcmp(argv[i],"--help") == 0 || strcmp(argv[i],"-h") == 0 ) ) { printf("Invalid argument ! \"%s\"\n",argv[i]); } helpArgs(); } } }