summaryrefslogtreecommitdiff
path: root/TAO/tests/Multiple/Multiple_Impl.h
blob: 048225b32aac4a5b87a2fa389ce7872b1d8e135f (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
71
72
73
74
75
76
77
78
79
80
81
82
//=============================================================================
/**
 *  @file    Multiple_Impl.h
 *
 *   This file contains the servant implementation used to test the
 *   new collocation collocation scheme.
 *
 *
 *  @author  Angelo Corsaro <corsaro@cs.wustl.edu>
 */
//=============================================================================

#ifndef TAO_MULTIPLE_IMPL_H_
#define TAO_MULTIPLE_IMPL_H_

// -- App. Specific Include --
#include "MultipleS.h"

/**
 * @class Bottom_Impl
 *
 * @brief Bottom_Impl
 *
 * This class implements the servant for the Bottom interface
 * defined in the IDL file.
 */
class Bottom_Impl : public virtual POA_Multiple::Bottom
{

public:
  // Ctor-Dtor
  Bottom_Impl (CORBA::ORB_ptr orb);
  virtual ~Bottom_Impl (void);

  // IDL Interface Methods
  virtual char * top_quote (void);

  virtual char * left_quote (void);

  virtual char * right_quote (void);

  virtual char * bottom_quote (void);

  virtual void shutdown (void);
private:
  CORBA::ORB_var orb_;
};

/**
 * @class Delegated_Bottom_Impl
 *
 * @brief Delegated_Bottom_Impl
 *
 * This class implements the servant for the Bottom interface
 * which delegates all the request to another Bottom corba object.
 * This call forwarding is made using different strategy depending
 * on the option set for the ORB.
 */
class Delegated_Bottom_Impl : public virtual POA_Multiple::Bottom
{

public:

  // Ctor-Dtor
  Delegated_Bottom_Impl (Multiple::Bottom_ptr delegate, CORBA::ORB_ptr orb);
  virtual ~Delegated_Bottom_Impl (void);

  // IDL Interface Methods.
  virtual char * top_quote (void);
  virtual char * left_quote (void);
  virtual char * right_quote (void);
  virtual char * bottom_quote (void);

  virtual void shutdown (void);

private:
  Multiple::Bottom_var delegate_;

  CORBA::ORB_var orb_;

};
#endif /* TAO_MULTIPLE_IMPL_H_ */