示例#1
0
int main( int argc, char *argv[] )
{
    po::options_description description("Allowed options");

    get_options( description );
    po::variables_map vm;

    try {
        vm = create_cmd_params( argc, argv, description );
    } catch ( const std::exception &ex ) {
        std::cerr << "Options error: " << ex.what( )
                  << "\n"
                  << description;
        return 1;
    }

    if( vm.count( "help" ) ) {
        show_help( description );
        return 0;
    }

    try {
        return  start( vm );
    } catch( const std::exception &ex ) {
        std::cerr << "General error: " << ex.what( ) << "\n";
    }
    return 3;
}
示例#2
0
文件: main.cpp 项目: newenclave/vtrc
int main( int argc, char *argv[] )
{
    po::options_description description("Allowed options");

    get_options( description );
    po::variables_map vm;

    try {
        vm = create_cmd_params( argc, argv, description );
    } catch ( const std::exception &ex ) {
        std::cerr << "Options error: " << ex.what( )
                  << "\n"
                  << description;
        return 1;
    }

    if( vm.count( "help" ) ) {
        show_help( description );
        return 0;
    }

    try {
        start( vm );
    } catch( const vtrc::common::exception &ex ) {
        std::cerr << "Server start failed: "
                  << ex.what( );
        std::string add(ex.additional( ));
        if( !add.empty( ) ) {
            std::cerr << " '" << add << "'";
        }
        std::cerr << "\n";
        return 3;
    } catch( const std::exception &ex ) {
        std::cerr << "Server start failed: " << ex.what( ) << "\n";
        return 3;
    }

    google::protobuf::ShutdownProtobufLibrary( );
    return 0;
}
示例#3
0
int main( int argc, char **argv )
{
    po::options_description description("Allowed options");
    all_options( description );

    std::vector<std::string> fuse_opts_holder;
    std::vector<char *> fuse_opts;

    fuse_opts_holder.push_back( argv[0] );
//    fuse_opts_holder.push_back( "-s" );

    try {

        fr::fuse::g_opts = ( create_cmd_params( argc, argv, description ) );

    } catch( const std::exception &ex ) {
        std::cerr << "Command line error: " << ex.what( ) << "\n";
        usage( description );
        return 1;
    }

    if( fr::fuse::g_opts.count( "help" ) ) {
        usage( description );
        char help[] = "--help";

        char *p[] = { argv[0], help };


        fuse_main( 2, &p[0], (fuse_operations *)NULL );

        return 0;
    }

    if( !fr::fuse::g_opts.count( "server" ) ) {
        usage( description );
        return 2;
    }

    if( fr::fuse::g_opts.count( "foreground" ) ) {
        fuse_opts_holder.push_back( "-f" );
    }

    if( fr::fuse::g_opts.count( "debug" ) ) {
        fuse_opts_holder.push_back( "-d" );
    }

    if( fr::fuse::g_opts.count( "opt" ) ) {
        auto opts = fr::fuse::g_opts["opt"].as<std::vector<std::string > >( );
        for( auto &o: opts ) {
            fuse_opts_holder.push_back( "-o" );
            fuse_opts_holder.push_back( o );
        }
    }

    if( !fr::fuse::g_opts.count( "point" ) ) {
        usage( description );
        return 1;
    } else {
        auto p = fr::fuse::g_opts["point"].as<std::string>( );
        fuse_opts_holder.push_back( p );
    }

    for( auto &a: fuse_opts_holder ) {
        fuse_opts.push_back( &a[0] );
    }

    fuse_operations op = fr::fuse::application::set_operations( );
    fuse_main( fuse_opts.size( ), &fuse_opts[0], &op );

    return 0;
}