parse the command line arguments
| 43 | |
| 44 | /// parse the command line arguments |
| 45 | int parse_args(int argc, ACE_TCHAR *argv[]) { |
| 46 | u_long mask = ACE_LOG_MSG->priority_mask(ACE_Log_Msg::PROCESS); |
| 47 | ACE_LOG_MSG->priority_mask(mask | LM_TRACE | LM_DEBUG, ACE_Log_Msg::PROCESS); |
| 48 | ACE_Arg_Shifter arg_shifter(argc, argv); |
| 49 | |
| 50 | while (arg_shifter.is_anything_left()) { |
| 51 | // options: |
| 52 | // -T synch directory |
| 53 | // -i num_ops_per_thread defaults to 10 |
| 54 | // -r num_datareaders defaults to 1 |
| 55 | // -n max_samples_per_instance defaults to INFINITE |
| 56 | // -z verbose transport debug |
| 57 | |
| 58 | const ACE_TCHAR *currentArg = 0; |
| 59 | |
| 60 | if ((currentArg = arg_shifter.get_the_parameter(ACE_TEXT("-T"))) != 0) { |
| 61 | synch_dir = currentArg; |
| 62 | arg_shifter.consume_arg(); |
| 63 | |
| 64 | } else if ((currentArg = arg_shifter.get_the_parameter(ACE_TEXT("-i"))) != 0) { |
| 65 | num_ops_per_thread = ACE_OS::atoi(currentArg); |
| 66 | arg_shifter.consume_arg(); |
| 67 | |
| 68 | } else if ((currentArg = arg_shifter.get_the_parameter(ACE_TEXT("-n"))) != 0) { |
| 69 | max_samples_per_instance = ACE_OS::atoi(currentArg); |
| 70 | arg_shifter.consume_arg(); |
| 71 | |
| 72 | } else if ((currentArg = arg_shifter.get_the_parameter(ACE_TEXT("-s"))) != 0) { |
| 73 | int t = ACE_OS::atoi(currentArg); |
| 74 | arg_shifter.consume_arg(); |
| 75 | |
| 76 | switch (t) { |
| 77 | case 1: topics |= TOPIC_T1; break; |
| 78 | case 2: topics |= TOPIC_T2; break; |
| 79 | case 3: topics |= TOPIC_T3; break; |
| 80 | case 4: topics |= TOPIC_T4; break; |
| 81 | case 5: topics |= TOPIC_T5; break; |
| 82 | default: |
| 83 | ACE_ERROR((LM_ERROR, |
| 84 | ACE_TEXT("(%P|%t) Invalid topic id (must be 1-5).\n"))); |
| 85 | return 1; |
| 86 | } |
| 87 | |
| 88 | } else if ((currentArg = arg_shifter.get_the_parameter(ACE_TEXT("-p"))) != 0) { |
| 89 | int t = ACE_OS::atoi(currentArg); |
| 90 | arg_shifter.consume_arg(); |
| 91 | |
| 92 | switch (t) { |
| 93 | case 6: publish_topics |= TOPIC_T6; break; |
| 94 | case 7: publish_topics |= TOPIC_T7; break; |
| 95 | default: |
| 96 | ACE_ERROR((LM_ERROR, |
| 97 | ACE_TEXT("(%P|%t) Invalid topic id (must be 6-7).\n"))); |
| 98 | return 1; |
| 99 | } |
| 100 | |
| 101 | } else if (arg_shifter.cur_arg_strncasecmp(ACE_TEXT("-z")) == 0) { |
| 102 | TURN_ON_VERBOSE_DEBUG; |