summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/ImplRepo/nestea_client_i.h
blob: 31c39f7fa7ec96162dacdd22fcd86c1ebe73c7d9 (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
// -*- C++ -*-

//=============================================================================
/**
 *  @file    nestea_client_i.h
 *
 *  This class implements a simple CORBA client which controls a Nestea
 *  can database
 *
 *  @author Darrell Brunsch <brunsch@cs.wustl.edu>
 */
//=============================================================================


#if !defined (NESTEA_CLIENT_I_H)
#define NESTEA_CLIENT_I_H

#include "NesteaC.h"

/**
 * @class Nestea_Client_i
 *
 * @brief Nestea Bookshelf Client Implementation
 *
 * Class wrapper for a client which gets the server IOR and then makes
 * a couple of calls to the server.
 */
class Nestea_Client_i
{
public:
  // = Constructor and destructor.
  Nestea_Client_i (void);
  ~Nestea_Client_i (void);

  /// Execute client example code.
  int run ();

  /// Initialize the client communication endpoint with server.
  int init (int argc, ACE_TCHAR **argv);

private:
  /// Parses the arguments passed on the command line.
  int parse_args (void);

  /// # of arguments on the command line.
  int argc_;

  /// arguments from command line.
  ACE_TCHAR **argv_;

  /// Key of the obj ref of the server.
  ACE_TCHAR *server_key_;

  /// Server object ptr.
  Nestea_Bookshelf_ptr server_;

  /// Remember our orb.
  CORBA::ORB_var orb_;

  bool shutdown_server_;
};

#endif /* NESTEA_CLIENT_I_H */