summaryrefslogtreecommitdiff
path: root/TAO/tests/Bug_3647_Regression/Middle_Impl.hpp
blob: 659a4818723100352fd493f8308669b9a748f2fc (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
#ifndef Bug_3647_Regression_Middle_Impl_hpp
#define Bug_3647_Regression_Middle_Impl_hpp

#include "TestS.h"
#include "Throw_Spec.h"

namespace Bug_3647_Regression
{

/**
 * @class Middle
 *
 * Implement the Bug_3647_Regression::Middle interface
 *
 */
class Middle_Impl : public POA_Bug_3647_Regression::Middle
{
public:
  Middle_Impl(
      Backend_ptr backend,
      CORBA::ORB_ptr orb,
      bool verbose,
      long timeout);
  virtual ~Middle_Impl();

  virtual void startup_test()
      THROW_SPEC (CORBA::SystemException);
  virtual void ping()
      THROW_SPEC (CORBA::SystemException);

  virtual void shutdown()
      THROW_SPEC (CORBA::SystemException);

private:
  /// Keep a reference to the backend so we can call it, shutdown, etc.
  Backend_var backend_;

  /// Keep a reference to the ORB so we can shutdown the application.
  CORBA::ORB_var orb_;

  /// Use this flag to decide if the program should produce any output.
  bool verbose_;

  /// Control the freeze time based on the timeout time
  long timeout_;
};

} // namespace Bug_3647_Regression

#endif // Bug_3647_Regression_Middle_hpp