Merge pull request #1844 from jrw972/monterey
[ACE_TAO.git] / TAO / performance-tests / Pluggable / PP_Test_Server.h
blobf837ce4ece9954ddd09889c109ae4911fa977c25
2 //=============================================================================
3 /**
4 * @file PP_Test_Server.h
6 * This class implements simple oneway and twoway no-op requests
7 * to time latency and overhead of the pluggable protocol functionality.
9 * @author Jeff Parsons <parsons@cs.wustl.edu>
11 //=============================================================================
14 #ifndef _PP_TEST_SERVER_H
15 #define _PP_TEST_SERVER_H
17 #include "ace/Get_Opt.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
20 # pragma once
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
23 #include "tao/Utils/ORB_Manager.h"
24 #include "PP_Test_i.h"
26 /**
27 * @class PP_Test_Server
29 * @brief Defines a server class that implements the functionality
30 * of a server process as an object.
32 * The interface is quite simple. A server program has to call
33 * init to initialize the server's state and then call run
34 * to run the orb.
36 class PP_Test_Server
38 public:
39 /// Default constructor
40 PP_Test_Server (void);
42 /// Destructor
43 ~PP_Test_Server (void);
45 /// Initialize the server state - parsing arguments, etc.
46 int init (int argc,
47 ACE_TCHAR **argv);
49 /// Run the orb
50 int run (void);
52 private:
53 /// Parses the commandline arguments.
54 int parse_args (void);
56 /// File to output the cubit factory IOR.
57 FILE* ior_output_file_;
59 /// The ORB manager.
60 TAO_ORB_Manager orb_manager_;
62 /// Implementation object of the Pluggable Test factory.
63 Pluggable_Test_Factory_i *factory_impl_;
65 /// ID of the factory.
66 CORBA::String_var factory_id_;
68 /// Number of commandline arguments.
69 int argc_;
71 /// commandline arguments.
72 ACE_TCHAR **argv_;
75 #endif /* _PP_TEST_SERVER_H */