コード例 #1
0
ファイル: main.cpp プロジェクト: rousse/vle
int main(int argc, char *argv[])
{
    int ret;
    int verbose = 0;
    int processor = 1;
    int trace = -1; /* < 0 = stderr, 0 = file and > 0 = stdout */
    bool manager_mode = false;
    std::string packagename, remotecmd, configvar;
    CmdArgs args;

    {
        ProgramOptions prgs(&verbose, &trace, &processor, &manager_mode,
                &packagename, &remotecmd, &configvar, &args);

        ret = prgs.run(argc, argv);

        if (ret == PROGRAM_OPTIONS_FAILURE)
            return EXIT_FAILURE;
        else if (ret == PROGRAM_OPTIONS_END or args.empty())
            return EXIT_SUCCESS;
    }

    VLE app(verbose, trace); /* We are in package, remote or configuration
                                mode, we need to initialize VLE's API. */

    switch (ret) {
    case PROGRAM_OPTIONS_PACKAGE:
        return manage_package_mode(packagename, manager_mode, processor,
                args);
    case PROGRAM_OPTIONS_REMOTE:
        return manage_remote_mode(remotecmd, args);
    case PROGRAM_OPTIONS_CONFIG:
        return manage_config_mode(configvar, args);
    default:
        break;
    };

    return EXIT_SUCCESS;
}
コード例 #2
0
ファイル: main.cpp プロジェクト: alsabadel/vle
int main(int argc, char **argv)
{
    int ret;
    int verbose = 0;
    std::string packagename;
    CmdArgs args;

    {
       ProgramOptions prgs(&verbose, &packagename, &args);
       ret = prgs.run(argc, argv);

       if (ret == PROGRAM_OPTIONS_END)
           return EXIT_SUCCESS;
       else if (ret == PROGRAM_OPTIONS_FAILURE)
           return EXIT_FAILURE;
    }

    vle::gvle::GVLE::start(argc, argv, packagename,
           args.empty() ? std::string() : args.front());

    return EXIT_SUCCESS;
}