Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Invocation_Utils.h
blobdb496a5484b2444b19674502f3e5ff61de7d576c
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Invocation_Utils.h
7 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu>
8 */
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)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include /**/ "tao/Versioned_Namespace.h"
23 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
25 namespace TAO
27 enum Invocation_Status
29 /// Initial state of the FSM in the invocation class.
30 TAO_INVOKE_START = 0,
31 /// The request must be restarted, a temporary failure has
32 /// occurred.
33 TAO_INVOKE_RESTART,
34 /// invoke() call successful. Final state of the FSM.
35 TAO_INVOKE_SUCCESS,
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.
43 TAO_INVOKE_FAILURE
46 /// Enums for invocation types
47 enum Invocation_Type {
48 /// A simple oneway invocation
49 TAO_ONEWAY_INVOCATION,
50 /// A simple twoway invocation
51 TAO_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
59 /// replies.
60 TAO_ASYNCHRONOUS_CALLBACK_INVOCATION,
61 /// Asynchronous twoway with poller model for collecting the
62 /// replies.
63 /// @note This is not supported in TAO now
64 TAO_ASYNCHRONOUS_POLLER_INVOCATION,
65 /// Types of DII
66 TAO_DII_INVOCATION,
67 TAO_DII_DEFERRED_INVOCATION,
68 TAO_DII_ASYNCH_INVOCATION
71 enum Forward_On_Exception
73 FOE_NON = 0x0,
74 FOE_OBJECT_NOT_EXIST = 0x1,
75 FOE_COMM_FAILURE = 0x2,
76 FOE_TRANSIENT = 0x4,
77 FOE_INV_OBJREF = 0x8,
78 FOE_OBJ_ADAPTER = 0x10,
79 FOE_NO_RESPONSE = 0x20,
80 FOE_ALL = 0xFFFFFFFF
84 TAO_END_VERSIONED_NAMESPACE_DECL
86 #include /**/ "ace/post.h"
87 #endif /* TAO_INVOCATION_UTILS_H */