3 //=============================================================================
5 * @file Invocation_Utils.h
7 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
9 //=============================================================================
11 #ifndef TAO_INVOCATION_UTILS_H
12 #define TAO_INVOCATION_UTILS_H
13 #include /**/ "ace/pre.h"
15 #include "ace/config-all.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include /**/ "tao/Versioned_Namespace.h"
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
27 enum Invocation_Status
29 /// Initial state of the FSM in the invocation class.
31 /// The request must be restarted, a temporary failure has
34 /// invoke() call successful. Final state of the FSM.
36 /// Received a user exception from the remote object, and this
37 /// is one of the final states.
38 TAO_INVOKE_USER_EXCEPTION
,
39 /// Received a system exception from the remote object or the
40 /// PI and it is one of the final states
41 TAO_INVOKE_SYSTEM_EXCEPTION
,
42 /// Invocation failed. It is a final state.
46 /// Enums for invocation types
47 enum Invocation_Type
{
48 /// A simple oneway invocation
49 TAO_ONEWAY_INVOCATION
,
50 /// A simple twoway invocation
54 /// Enum for invocation modes
55 enum Invocation_Mode
{
56 /// Standard synchronous twoway
57 TAO_SYNCHRONOUS_INVOCATION
,
58 /// Asynchronous twoway with callback model for collecting the
60 TAO_ASYNCHRONOUS_CALLBACK_INVOCATION
,
61 /// Asynchronous twoway with poller model for collecting the
63 /// @note This is not supported in TAO now
64 TAO_ASYNCHRONOUS_POLLER_INVOCATION
,
67 TAO_DII_DEFERRED_INVOCATION
,
68 TAO_DII_ASYNCH_INVOCATION
71 enum Forward_On_Exception
74 FOE_OBJECT_NOT_EXIST
= 0x1,
75 FOE_COMM_FAILURE
= 0x2,
78 FOE_OBJ_ADAPTER
= 0x10,
79 FOE_NO_RESPONSE
= 0x20,
84 TAO_END_VERSIONED_NAMESPACE_DECL
86 #include /**/ "ace/post.h"
87 #endif /* TAO_INVOCATION_UTILS_H */