Revert "Use a variable on the stack to not have a temporary in the call"
[ACE_TAO.git] / TAO / tao / Bind_Dispatcher_Guard.h
blobd1e26eedb8b8e3f80fd2ee8303dfcdc2998c0c9e
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Bind_Dispatcher_Guard.h
7 * @author Carlos O'Ryan <coryan@uci.edu>
8 * @author Chad Elliott <elliott_c@ociweb.com>
9 */
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
27 public:
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 ();
37 /// State information
38 enum TAO_Bind_Dispatcher_Status
40 /// Unbind the dispatcher
41 UNBIND = 0,
42 /// Do not unbind dispatcher
43 NO_UNBIND
46 /// Get status
47 TAO_Bind_Dispatcher_Status status () const;
49 /// Set status
50 void status (TAO_Bind_Dispatcher_Status status);
52 private:
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"
65 #endif