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