Merge pull request #2303 from jwillemsen/jwi-803
[ACE_TAO.git] / TAO / orbsvcs / performance-tests / RTEvent / lib / Client_Options.h
blobef4c40be34693a0c44e05eed407593a13dcb733f
1 /**
2 * @file Client_Options.h
4 * @author Carlos O'Ryan <coryan@uci.edu>
5 */
7 #ifndef TAO_RTEC_PERF_CLIENT_OPTIONS_H
8 #define TAO_RTEC_PERF_CLIENT_OPTIONS_H
9 #include /**/ "ace/pre.h"
11 #include "rtec_perf_export.h"
13 #if !defined (ACE_LACKS_PRAGMA_ONCE)
14 # pragma once
15 #endif /* ACE_LACKS_PRAGMA_ONCE */
17 #include "ace/Arg_Shifter.h"
19 /// Parse the command-line client_options for the tests.
20 /**
21 * Note that some of the tests ignore some of the client_options, but it is
22 * easier to have them all in a single class.
24 class TAO_RTEC_Perf_Export Client_Options
26 public:
27 /// Constructor
28 Client_Options (int &argc, ACE_TCHAR *argv[]);
30 const ACE_TCHAR *ior;
31 int iterations;
32 int nthreads;
33 int high_priority_period;
34 int high_priority_workload;
35 int low_priority_period;
36 int low_priority_workload;
37 int low_priority_consumers;
39 int dump_history;
40 int use_rt_corba;
41 int global_low_priority_rate;
42 int unique_low_priority_event;
43 int funky_supplier_publication;
44 int high_priority_is_last;
46 private:
47 int option (ACE_Arg_Shifter &arg_shifter,
48 const ACE_TCHAR *option_name,
49 int &option_value);
51 int boolean_option (ACE_Arg_Shifter &arg_shifter,
52 const ACE_TCHAR *option_name,
53 int &option_value);
56 #include /**/ "ace/post.h"
57 #endif /* TAO_RTEC_PERF_CLIENT_OPTIONS_H */