Valuetype_Adapter.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file    Valuetype_Adapter.h
00006  *
00007  *  Valuetype_Adapter.h,v 1.10 2006/07/03 01:07:26 mesnier_p Exp
00008  *
00009  *  @author  Jeff Parsons <j.parsons@vanderbilt.edu>
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 /* ACE_LACKS_PRAGMA_ONCE */
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  * @class TAO_Valuetype_Adapter
00046  *
00047  * @brief TAO_Valuetype_Adapter.
00048  *
00049  * Class that adapts various functions involving the Valuetype,
00050  * ValueFactory and AbstractInterface classes. This is a base class for
00051  * the actual implementation in the TAO_Valuetype library.
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 /* TAO_VALUETYPE_ADAPTER_H */

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