AnyTypeCode_Adapter.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    AnyTypeCode_Adapter.h
00006  *
00007  *  AnyTypeCode_Adapter.h,v 1.4 2006/02/21 19:15:29 jwillemsen Exp
00008  *
00009  *  @author  Johnny Willemsen  <jwillemsen@remedy.nl>
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 /* ACE_LACKS_PRAGMA_ONCE */
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  * @class TAO_AnyTypeCode_Adapter
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 /* TAO_ANYTYPECODE_ADAPTER */

Generated on Thu Nov 9 11:54:07 2006 for TAO by doxygen 1.3.6