3 //=============================================================================
5 * @file Bind_Dispatcher_Guard.h
7 * @author Carlos O'Ryan <coryan@uci.edu>
8 * @author Chad Elliott <elliott_c@ociweb.com>
10 //=============================================================================
12 #ifndef TAO_BIND_DISPATCHER_GUARD_H
13 #define TAO_BIND_DISPATCHER_GUARD_H
15 #include /**/ "ace/pre.h"
17 #include "tao/Basic_Types.h"
18 #include /**/ "tao/TAO_Export.h"
20 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
22 class TAO_Reply_Dispatcher
;
23 class TAO_Transport_Mux_Strategy
;
25 class TAO_Export TAO_Bind_Dispatcher_Guard
28 TAO_Bind_Dispatcher_Guard (CORBA::ULong request_id
,
29 TAO_Reply_Dispatcher
* rd
,
30 TAO_Transport_Mux_Strategy
* tms
);
32 ~TAO_Bind_Dispatcher_Guard ();
34 /// Returns 0 if successful and non-zero otherwise.
35 int unbind_dispatcher ();
38 enum TAO_Bind_Dispatcher_Status
40 /// Unbind the dispatcher
42 /// Do not unbind dispatcher
47 TAO_Bind_Dispatcher_Status
status () const;
50 void status (TAO_Bind_Dispatcher_Status status
);
53 TAO_Bind_Dispatcher_Status status_
;
54 CORBA::ULong request_id_
;
55 TAO_Transport_Mux_Strategy
* tms_
;
58 TAO_END_VERSIONED_NAMESPACE_DECL
60 #if defined (__ACE_INLINE__)
61 # include "tao/Bind_Dispatcher_Guard.inl"
62 #endif /* __ACE_INLINE__ */
64 #include /**/ "ace/post.h"