summaryrefslogtreecommitdiff
path: root/TAO/tests/InterOp-Naming/Server_i.h
blob: aa9b5caab5d342ee2ad41fe08b887ff5dbf826bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

//=============================================================================
/**
 *  @file   Server_i.h
 *
 *  The class is the driver for the INS test server.
 *
 *  @author Vishal Kachroo <vishal@cs.wustl.edu>
 */
//=============================================================================


#ifndef SERVER_I_H
#define SERVER_I_H

#include "tao/Utils/ORB_Manager.h"
#include "ace/Get_Opt.h"
#include "ace/Read_Buffer.h"
#include "INS_i.h"

class Server_i
{

public:
  // = Initialization and termination methods.

  /// Constructor.
  Server_i (void);

  /// Destructor.
  ~Server_i (void);

  /// Initialize the Server state - parsing arguments and waiting.
  int init (int argc,
            ACE_TCHAR *argv[]);

  /// Add an IOR to the ORB-IOR table.
  int add_IOR_to_table (CORBA::String_var ior);

  /// Run the orb.
  int run (void);

protected:

  /// Servant class
  INS_i servant_;

  /// Parses the commandline arguments.
  int parse_args (void);

  /// The ORB manager - a helper class for accessing the POA and
  /// registering objects.
  TAO_ORB_Manager orb_manager_;

  /// File where the IOR of the server object is stored.
  FILE *ior_output_file_;

  /// Used test the INS.
  char * ins_;

  /// Number of command line arguments.
  int argc_;

  /// The command line arguments.
  ACE_TCHAR **argv_;
};

#endif /* SERVER_I_H */