00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef TAO_ANYTYPECODE_ADAPTER
00015 #define TAO_ANYTYPECODE_ADAPTER
00016
00017 #include "ace/pre.h"
00018
00019 #include "tao/TAO_Export.h"
00020
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif
00024
00025 #include "ace/Service_Object.h"
00026 #include "ace/CDR_Stream.h"
00027
00028 #include "tao/Basic_Types.h"
00029
00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00031
00032 namespace CORBA
00033 {
00034 class TypeCode;
00035 typedef TypeCode *TypeCode_ptr;
00036
00037 class Any;
00038
00039 class Policy;
00040 typedef Policy *Policy_ptr;
00041 }
00042
00043
00044
00045
00046
00047 class TAO_Export TAO_AnyTypeCode_Adapter
00048 : public ACE_Service_Object
00049 {
00050 public:
00051 virtual ~TAO_AnyTypeCode_Adapter (void);
00052
00053 #define ANYTYPECODE__EXCEPTION_LIST \
00054 TAO_SYSTEM_EXCEPTION (UNKNOWN) \
00055 TAO_SYSTEM_EXCEPTION (BAD_PARAM) \
00056 TAO_SYSTEM_EXCEPTION (NO_MEMORY) \
00057 TAO_SYSTEM_EXCEPTION (IMP_LIMIT) \
00058 TAO_SYSTEM_EXCEPTION (COMM_FAILURE) \
00059 TAO_SYSTEM_EXCEPTION (INV_OBJREF) \
00060 TAO_SYSTEM_EXCEPTION (OBJECT_NOT_EXIST) \
00061 TAO_SYSTEM_EXCEPTION (NO_PERMISSION) \
00062 TAO_SYSTEM_EXCEPTION (INTERNAL) \
00063 TAO_SYSTEM_EXCEPTION (MARSHAL) \
00064 TAO_SYSTEM_EXCEPTION (INITIALIZE) \
00065 TAO_SYSTEM_EXCEPTION (NO_IMPLEMENT) \
00066 TAO_SYSTEM_EXCEPTION (BAD_TYPECODE) \
00067 TAO_SYSTEM_EXCEPTION (BAD_OPERATION) \
00068 TAO_SYSTEM_EXCEPTION (NO_RESOURCES) \
00069 TAO_SYSTEM_EXCEPTION (NO_RESPONSE) \
00070 TAO_SYSTEM_EXCEPTION (PERSIST_STORE) \
00071 TAO_SYSTEM_EXCEPTION (BAD_INV_ORDER) \
00072 TAO_SYSTEM_EXCEPTION (TRANSIENT) \
00073 TAO_SYSTEM_EXCEPTION (FREE_MEM) \
00074 TAO_SYSTEM_EXCEPTION (INV_IDENT) \
00075 TAO_SYSTEM_EXCEPTION (INV_FLAG) \
00076 TAO_SYSTEM_EXCEPTION (INTF_REPOS) \
00077 TAO_SYSTEM_EXCEPTION (BAD_CONTEXT) \
00078 TAO_SYSTEM_EXCEPTION (OBJ_ADAPTER) \
00079 TAO_SYSTEM_EXCEPTION (DATA_CONVERSION) \
00080 TAO_SYSTEM_EXCEPTION (INV_POLICY) \
00081 TAO_SYSTEM_EXCEPTION (REBIND) \
00082 TAO_SYSTEM_EXCEPTION (TIMEOUT) \
00083 TAO_SYSTEM_EXCEPTION (TRANSACTION_UNAVAILABLE) \
00084 TAO_SYSTEM_EXCEPTION (TRANSACTION_MODE) \
00085 TAO_SYSTEM_EXCEPTION (TRANSACTION_REQUIRED) \
00086 TAO_SYSTEM_EXCEPTION (TRANSACTION_ROLLEDBACK) \
00087 TAO_SYSTEM_EXCEPTION (INVALID_TRANSACTION) \
00088 TAO_SYSTEM_EXCEPTION (CODESET_INCOMPATIBLE) \
00089 TAO_SYSTEM_EXCEPTION (BAD_QOS) \
00090 TAO_SYSTEM_EXCEPTION (INVALID_ACTIVITY) \
00091 TAO_SYSTEM_EXCEPTION (ACTIVITY_COMPLETED) \
00092 TAO_SYSTEM_EXCEPTION (ACTIVITY_REQUIRED) \
00093 TAO_SYSTEM_EXCEPTION (THREAD_CANCELLED) \
00094 TAO_SYSTEM_EXCEPTION (WrongTransaction) \
00095 TAO_SYSTEM_EXCEPTION (PolicyError) \
00096 TAO_SYSTEM_EXCEPTION (InvalidPolicies)
00097
00098 #define TAO_SYSTEM_EXCEPTION(name) \
00099 virtual CORBA::TypeCode_ptr _tao_type_ ## name (void) const = 0;
00100
00101 ANYTYPECODE__EXCEPTION_LIST
00102 #undef TAO_SYSTEM_EXCEPTION
00103
00104 virtual void insert_into_any (CORBA::Any * any, CORBA::Char const * mychar) = 0;
00105
00106 virtual void insert_into_any (CORBA::Any * any, CORBA::WChar const * mywchar) = 0;
00107
00108 virtual void insert_into_any (CORBA::Any * any, CORBA::Policy_ptr policy) = 0;
00109
00110 virtual void insert_into_any (CORBA::Any * any, CORBA::Policy_ptr * policy) = 0;
00111
00112 virtual void insert_into_any (CORBA::Any * any, CORBA::ULong value) = 0;
00113
00114 virtual void insert_into_any (CORBA::Any * any, CORBA::Long value) = 0;
00115
00116 virtual void insert_into_any (CORBA::Any * any, CORBA::Short value) = 0;
00117
00118 virtual void insert_into_any (CORBA::Any * any, CORBA::UShort value) = 0;
00119
00120 virtual void insert_into_any (CORBA::Any * any, CORBA::Float value) = 0;
00121
00122 virtual void insert_into_any (CORBA::Any * any, CORBA::Double value) = 0;
00123
00124 virtual void insert_into_any (CORBA::Any * any, CORBA::LongLong value) = 0;
00125
00126 virtual void insert_into_any (CORBA::Any * any, CORBA::ULongLong value) = 0;
00127
00128 virtual void insert_into_any (CORBA::Any * any, CORBA::LongDouble value) = 0;
00129
00130 virtual void insert_into_any (CORBA::Any * any, ACE_OutputCDR::from_wchar value) = 0;
00131
00132 virtual void insert_into_any (CORBA::Any * any, ACE_OutputCDR::from_char value) = 0;
00133
00134 virtual void insert_into_any (CORBA::Any * any, ACE_OutputCDR::from_octet value) = 0;
00135
00136 virtual void insert_into_any (CORBA::Any * any, ACE_OutputCDR::from_boolean value) = 0;
00137 };
00138
00139 TAO_END_VERSIONED_NAMESPACE_DECL
00140
00141 #include "ace/post.h"
00142 #endif