Пример #1
0
    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
        );
    }
Пример #2
0
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();
        }
    }
}