summaryrefslogtreecommitdiff
path: root/TAO/DevGuideExamples/AMH_AMI/middle_i.h
blob: 4ad565afb6b71eb6bd6ea58e0c97a651aff785a9 (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
/* -*- C++ -*- $Id$ */

#ifndef MIDDLE_I_H_
#define MIDDLE_I_H_

#include "middleS.h"
#include "innerC.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
#pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

class  Asynch_Middle_i : public virtual POA_AMH_Middle
{
public:
  //Constructor
  Asynch_Middle_i (PortableServer::POA_ptr poa, Inner_ptr inner);

  virtual void get_the_answer (AMH_MiddleResponseHandler_ptr _tao_rh,
                               const char * question);

private:
  PortableServer::POA_var poa_;
  Inner_var inner_;
};

// This version of the implementation does not use AMH, It is supplied for
// comparison. Either this or the asynch version may be used to serve
// "Middle" objects.
class  Middle_i : public virtual POA_Middle
{
public:
  //Constructor
  Middle_i (Inner_ptr inner);

  virtual char * get_the_answer (const char * question);

private:
  PortableServer::POA_var poa_;
  Inner_var inner_;
};


#endif /* MIDDLE_I_H_  */