00001 #ifndef _IT_BUS_PDK_ANY_STREAMABLE_H_
00002 #define _IT_BUS_PDK_ANY_STREAMABLE_H_
00003
00004
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
00058
00059
00060