Merge pull request #1551 from DOCGroup/plm_jira_333
[ACE_TAO.git] / TAO / orbsvcs / tests / ImplRepo / airplane_server_i.h
blobd3c15ad3e94d203715990e926d84762896a77dbc
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file airplane_server_i.h
7 * Server that sets up the ORB and handles the registration and execution
8 * of the Paper Airplane Server.
10 * @author Darrell Brunsch <brunsch@cs.wustl.edu>
12 //=============================================================================
14 #if !defined (AIRPLANE_SERVER_I_H)
15 #define AIRPLANE_SERVER_I_H
17 #include "airplane_i.h"
19 /**
20 * @class Airplane_Server_i
22 * @brief Paper Airplane Server Implementation Class
24 * Sets up everything necessary to get the Paper Airplane Server
25 * running.
27 class Airplane_Server_i
29 public:
30 /// Default constructor
31 Airplane_Server_i (void);
33 /// Destructor
34 ~Airplane_Server_i (void);
36 /// Initialize the Server state - parsing arguments and waiting
37 int init (int argc, ACE_TCHAR **argv);
39 /// Run the orb
40 int run (void);
42 private:
43 /// Parses the commandline arguments.
44 int parse_args (void);
46 /// Number of command line arguments.
47 int argc_;
49 /// The command line arguments.
50 ACE_TCHAR **argv_;
52 /// The ORB.
53 CORBA::ORB_var orb_;
55 PortableServer::POA_var root_poa_;
57 /// The POA for the Airplane Server.
58 PortableServer::POA_var airplane_poa_;
60 /// The POA manager.
61 PortableServer::POAManager_var poa_manager_;
63 /// The Paper Airplane Server Implementation.
64 Airplane_i *server_impl_;
66 /// File where the IOR of the server object is stored.
67 FILE *ior_output_file_;
69 /// File where the pid of the server is stored.
70 FILE *pid_output_file_;
72 /// The server name
73 ACE_CString server_name_;
76 #endif /* AIRPLANE_SERVER_I_H */