summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/ImplRepo/airplane_client_i.h
blob: 864c750fd67b0f671e2e2cde290440d3bbff83f1 (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
69
70
// -*- C++ -*-

//=============================================================================
/**
 *  @file    airplane_client_i.h
 *
 *  $Id$
 *
 *  This class implements a simple CORBA client which returns a random
 *  paper airplane from the paper airplane server.
 *
 *
 *  @author Darrell Brunsch <brunsch@cs.wustl.edu>
 */
//=============================================================================


#if !defined (AIRPLANE_CLIENT_I_H)
#define AIRPLANE_CLIENT_I_H

#include "AirplaneC.h"

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

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

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

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

  /// Ask the Paper Airplane Server for <count> planes.
  void get_planes (size_t count);

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

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

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

  /// Number of airplanes to query for.
  size_t loop_count_;

  /// Server object ptr.
  Paper_Airplane_Server_ptr server_;

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

#endif /* AIRPLANE_CLIENT_I_H */