3 //=============================================================================
7 * @author Balachandran Natarajan <bala@cs.wustl.edu>
9 //=============================================================================
12 #ifndef TAO_BIDIRECTIONAL_TEST_I_H
13 #define TAO_BIDIRECTIONAL_TEST_I_H
17 #include "ace/Synch.h"
18 #include "ace/Condition_T.h"
20 class Caller
: public ACE_Task_Base
23 Caller (Callback_ptr cb
, CORBA::ORB_ptr orb
);
31 TAO_SYNCH_MUTEX lock_
;
32 ACE_Condition
<TAO_SYNCH_MUTEX
> cond_
;
34 CORBA::OctetSeq payload_
;
41 * @brief A callback object to the "client"
43 * To test that the server can call the client on the same
44 * connection that was established by the client
46 class Callback_i
: public POA_Callback
50 Callback_i (CORBA::ORB_ptr orb
);
52 /// Safe way to shutdown
55 /// The callback method
56 void callback_method (const CORBA::OctetSeq
& payload
);
64 * @class Simple_Server_i
66 * @brief Simpler Server implementation
68 * Implements the Simple_Server interface in test.idl
69 * for (int loop = 0; loop < 10; loop++)
71 class Simple_Server_i
: public POA_Simple_Server
75 Simple_Server_i (CORBA::ORB_ptr orb
);
77 // = The Simple_Server methods.
80 CORBA::Long
test_method (CORBA::Boolean do_callback
);
82 void callback_object (Callback_ptr callback
);
93 /// Number of times the callback needs to be called
97 #if defined(__ACE_INLINE__)
99 #endif /* __ACE_INLINE__ */
101 #endif /* TAO_BIDIRECTIONAL_TEST_I_H */