it_bus_pdk/any_streamable.h

00001 #ifndef _IT_BUS_PDK_ANY_STREAMABLE_H_
00002 #define _IT_BUS_PDK_ANY_STREAMABLE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 #include <it_bus/types.h>
00007 #include <it_bus/any.h>
00008 
00009 namespace IT_Bus
00010 {
00011            
00012     class IT_AFC_API AnyStreamable 
00013     {
00014       public :
00015         
00016         virtual 
00017         ~AnyStreamable();
00018 
00019         void
00020         populate_string_data(
00021             const Any& any_data
00022         );
00023 
00024         void 
00025         populate_any_data(
00026             const Any& any_data
00027         );
00028 
00029         virtual bool 
00030         convert_any_to_string(
00031             const AnyType*  any_type_value,
00032             const QName&    element_name,
00033             String&         string_data
00034         ) = 0;
00035 
00036         virtual bool
00037         convert_string_to_any(
00038             const String&                              string_data, 
00039             AnyType*&                                  any_type_value,
00040             QName&                                     element_name,
00041             ImplementationDetails::ImplementationType  impl_type   
00042         ) = 0;
00043 
00044         virtual bool
00045         populate_element_name_from_string(
00046             const String&  string_data, 
00047             QName&         element_name
00048         ) = 0;
00049 
00050         static AnyStreamable*&
00051         get_any_streamable();
00052     }; 
00053 
00054     extern AnyStreamable*  gsd_any_streamable;
00055 }
00056 
00057 #endif /* !_IT_BUS_PDK_ANY_STREAMABLE_H_ */
00058 
00059 
00060         

Generated on Thu Sep 7 11:39:11 2006 for Artix by  doxygen 1.4.7