Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / Valuetype_Adapter.h
blob0b2dceb7b4fcc8543b73a0542250223647cd445b
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file Valuetype_Adapter.h
7 * @author Jeff Parsons <j.parsons@vanderbilt.edu>
8 */
9 //=============================================================================
11 #ifndef TAO_VALUETYPE_ADAPTER_H
12 #define TAO_VALUETYPE_ADAPTER_H
14 #include /**/ "ace/pre.h"
15 #include "ace/Service_Object.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include /**/ "tao/TAO_Export.h"
22 #include "tao/Basic_Types.h"
24 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
26 namespace CORBA
28 class Object;
29 typedef Object *Object_ptr;
31 class AbstractBase;
32 typedef AbstractBase *AbstractBase_ptr;
34 class ValueBase;
36 class ValueFactoryBase;
37 typedef ValueFactoryBase *ValueFactory;
40 class TAO_InputCDR;
42 /**
43 * @class TAO_Valuetype_Adapter
45 * @brief TAO_Valuetype_Adapter.
47 * Class that adapts various functions involving the Valuetype,
48 * ValueFactory and AbstractInterface classes. This is a base class for
49 * the actual implementation in the TAO_Valuetype library.
51 class TAO_Export TAO_Valuetype_Adapter : public ACE_Service_Object
53 public:
54 virtual ~TAO_Valuetype_Adapter ();
56 virtual CORBA::Object_ptr abstractbase_to_object (
57 CORBA::AbstractBase_ptr p) = 0;
59 virtual CORBA::Boolean stream_to_value (TAO_InputCDR &,
60 CORBA::ValueBase *&) = 0;
62 virtual CORBA::Boolean stream_to_abstract_base (
63 TAO_InputCDR &,
64 CORBA::AbstractBase_ptr &) = 0;
66 virtual CORBA::Long type_info_single () const = 0;
68 virtual CORBA::Boolean is_type_info_implied (CORBA::Long) const = 0;
69 virtual CORBA::Boolean is_type_info_single (CORBA::Long) const = 0;
70 virtual CORBA::Boolean is_type_info_list (CORBA::Long) const = 0;
71 virtual CORBA::Boolean is_value_chunked (CORBA::Long) const = 0;
73 virtual int vf_map_rebind (const char *, CORBA::ValueFactory &) = 0;
75 virtual int vf_map_unbind (const char *) = 0;
77 virtual CORBA::ValueFactory vf_map_find (const char *) = 0;
79 virtual CORBA::TypeCode_ptr derived_type (CORBA::ValueBase *) = 0;
82 TAO_END_VERSIONED_NAMESPACE_DECL
84 #include /**/ "ace/post.h"
85 #endif /* TAO_VALUETYPE_ADAPTER_H */