summaryrefslogtreecommitdiff
path: root/tests/Multiple/Multiple_Impl.h
blob: 97b507ea1b2a8e7e7a68f080d4f1d22778d85b0e (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
83
84
85
86
87
88
89
90
//$Id$
//
// ============================================================================
//
// = LIBRARY
//    TAO/tests/Multiple
//
// = FILENAME
//    Multiple_Impl.h
//
// = DESCRIPTION
//     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 : public virtual POA_Multiple::Bottom
{
// = TITLE
//    Bottom_Impl
//
// = DESCRIPTION
//    This class implements the servant for the Bottom interface
//    defined in the IDL file.

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 : public virtual POA_Multiple::Bottom
{
// = TITLE
//    Delegated_Bottom_Impl
//
// = DESCRIPTION
//    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.

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_ */