args.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef EGRAPH_ARGS_H
00028 #define EGRAPH_ARGS_H
00029
00030 #include <libplayerc++/playerc++.h>
00031 #include <iostream>
00032 #include <unistd.h>
00033 #include <string>
00034
00035 std::string gHostname(PlayerCc::PLAYER_HOSTNAME);
00036 uint gPort(PlayerCc::PLAYER_PORTNUM);
00037 uint gIndex(0);
00038 uint gDebug(5);
00039 uint gFrequency(10);
00040 uint gDataMode(PLAYER_DATAMODE_PULL);
00041 uint gEvasionMode(0);
00042 double gMinLength(0.1);
00043 std::string gFilename("");
00044
00045 void print_usage(int argc, char** argv);
00046
00047 int parse_args(int argc, char** argv)
00048 {
00049
00050 const char* optflags = "h:p:i:d:u:m:e:l:f:";
00051 int ch;
00052
00053
00054 while(-1 != (ch = getopt(argc, argv, optflags)))
00055 {
00056 switch(ch)
00057 {
00058
00059 case 'h':
00060 gHostname = optarg;
00061 break;
00062 case 'p':
00063 gPort = atoi(optarg);
00064 break;
00065 case 'i':
00066 gIndex = atoi(optarg);
00067 break;
00068 case 'd':
00069 gDebug = atoi(optarg);
00070 break;
00071 case 'u':
00072 gFrequency = atoi(optarg);
00073 break;
00074 case 'm':
00075 gDataMode = atoi(optarg);
00076 break;
00077 case 'e':
00078 gEvasionMode = atoi(optarg);
00079 break;
00080 case 'l':
00081 gMinLength = atof(optarg);
00082 break;
00083 case 'f':
00084 gFilename = optarg;
00085 break;
00086 case '?':
00087 case ':':
00088 default:
00089 print_usage(argc, argv);
00090 exit (-1);
00091 }
00092 }
00093
00094 return (0);
00095 }
00096
00097
00098 void print_usage(int argc, char** argv)
00099 {
00100 using namespace std;
00101 cerr << "USAGE: " << *argv << " [options]" << endl << endl;
00102 cerr << "Where [options] can be:" << endl;
00103 cerr << " -h <hostname> : hostname to connect to (default: "
00104 << PlayerCc::PLAYER_HOSTNAME << ")" << endl;
00105 cerr << " -p <port> : port where Player will listen (default: "
00106 << PlayerCc::PLAYER_PORTNUM << ")" << endl;
00107 cerr << " -i <index> : device index (default: 0)"
00108 << endl;
00109 cerr << " -d <level> : debug message level (0 = none -- 9 = all)"
00110 << endl;
00111 cerr << " -u <rate> : set server update rate to <rate> in Hz"
00112 << endl;
00113
00114
00115 cerr << " -m <datamode> : set server data delivery mode"
00116 << endl;
00117 cerr << " PLAYER_DATAMODE_PUSH = "
00118 << PLAYER_DATAMODE_PUSH << endl;
00119 cerr << " PLAYER_DATAMODE_PULL = "
00120 << PLAYER_DATAMODE_PULL << endl;
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131 cerr << " -e : evasion style (0 - 1)"
00132 << endl;
00133 cerr << " -l : minimum length between viewpoints"
00134 << endl;
00135 }
00136
00137 #endif //ARGS_H