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; }
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; }
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; }