00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_VALUETYPE_ADAPTER_H
00014 #define TAO_VALUETYPE_ADAPTER_H
00015
00016 #include "ace/pre.h"
00017 #include "ace/Service_Object.h"
00018
00019 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00020 # pragma once
00021 #endif
00022
00023 #include "tao/TAO_Export.h"
00024 #include "tao/Basic_Types.h"
00025
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027
00028 namespace CORBA
00029 {
00030 class Object;
00031 typedef Object *Object_ptr;
00032
00033 class AbstractBase;
00034 typedef AbstractBase *AbstractBase_ptr;
00035
00036 class ValueBase;
00037
00038 class ValueFactoryBase;
00039 typedef ValueFactoryBase *ValueFactory;
00040 }
00041
00042 class TAO_InputCDR;
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 class TAO_Export TAO_Valuetype_Adapter : public ACE_Service_Object
00054 {
00055 public:
00056 virtual ~TAO_Valuetype_Adapter (void);
00057
00058 virtual CORBA::Object_ptr abstractbase_to_object (
00059 CORBA::AbstractBase_ptr p
00060 ) = 0;
00061
00062 virtual CORBA::Boolean stream_to_value (TAO_InputCDR &,
00063 CORBA::ValueBase *&) = 0;
00064
00065 virtual CORBA::Boolean stream_to_abstract_base (
00066 TAO_InputCDR &,
00067 CORBA::AbstractBase_ptr &
00068 ) = 0;
00069
00070 virtual CORBA::Long type_info_single (void) const = 0;
00071
00072 virtual CORBA::Boolean is_type_info_implied (CORBA::Long) const = 0;
00073 virtual CORBA::Boolean is_type_info_single (CORBA::Long) const = 0;
00074 virtual CORBA::Boolean is_type_info_list (CORBA::Long) const = 0;
00075 virtual CORBA::Boolean is_value_chunked (CORBA::Long) const = 0;
00076
00077 virtual int vf_map_rebind (const char *,
00078 CORBA::ValueFactory &) = 0;
00079
00080 virtual int vf_map_unbind (const char *) = 0;
00081
00082 virtual CORBA::ValueFactory vf_map_find (const char *) = 0;
00083 };
00084
00085 TAO_END_VERSIONED_NAMESPACE_DECL
00086
00087 #include "ace/post.h"
00088 #endif