More tests update
[ACE_TAO.git] / TAO / tests / BiDirectional_NestedUpcall / test_i.h
blob8051d1c805ab5d6beac621ad710e050f9387e8cf
2 //=============================================================================
3 /**
4 * @file test_i.h
6 * @author Balachandran Natarajan <bala@cs.wustl.edu>
7 */
8 //=============================================================================
11 #ifndef TAO_BIDIRECTIONAL_TEST_I_H
12 #define TAO_BIDIRECTIONAL_TEST_I_H
14 #include "testS.h"
16 /**
17 * @class Callback_i
19 * @brief A callback object to the "client"
21 * To test that the server can call the client on the same
22 * connection that was established by the client
24 class Callback_i : public virtual POA_Callback
26 public:
27 /// ctor
28 Callback_i (CORBA::ORB_ptr orb);
30 /// Safe way to shutdown
31 void shutdown (void);
33 /// The callback method
34 void callback_method (void);
36 private:
37 /// The orb
38 CORBA::ORB_var orb_;
41 /**
42 * @class Simple_Server_i
44 * @brief Simpler Server implementation
46 * Implements the Simple_Server interface in test.idl
48 class Simple_Server_i : public virtual POA_Simple_Server
50 public:
51 /// ctor
52 Simple_Server_i (CORBA::ORB_ptr orb, int no_iterations);
54 // = The Simple_Server methods.
55 CORBA::Long test_method (CORBA::Boolean do_callback);
57 void callback_object (Callback_ptr callback);
59 void shutdown (void);
61 private:
62 /// The ORB
63 CORBA::ORB_var orb_;
65 /// Flag to indicate, whether we are ready for a remote call.
66 int flag_;
68 /// Callback Object
69 Callback_var callback_;
71 /// Number of times the callback needs to be called
72 int no_iterations_;
75 #if defined(__ACE_INLINE__)
76 #include "test_i.inl"
77 #endif /* __ACE_INLINE__ */
79 #endif /* TAO_BIDIRECTIONAL_TEST_I_H */