00001 #ifndef _IT_BUS_ANY_SIMPLE_TYPE_H_
00002 #define _IT_BUS_ANY_SIMPLE_TYPE_H_
00003
00004
00005
00006
00007 #include <it_bus/any_type.h>
00008
00009 namespace IT_Bus
00010 {
00011 class AnySimpleTypeReader;
00012 class AnySimpleTypeWriter;
00013
00018 class IT_AFC_API AnySimpleType : public virtual AnyType
00019 {
00020 public:
00021
00025 AnySimpleType();
00026
00030 virtual
00031 ~AnySimpleType();
00032
00036 virtual void
00037 read(
00038 const QName& name,
00039 ComplexTypeReader& reader
00040 ) throw((IT_Bus::DeserializationException));
00041
00045 virtual void
00046 write(
00047 const QName& name,
00048 ComplexTypeWriter& writer
00049 ) const throw((IT_Bus::SerializationException));
00050
00055 virtual void
00056 write_value(
00057 AnySimpleTypeWriter & writer
00058 ) const throw((IT_Bus::SerializationException)) = 0;
00059
00064 virtual void
00065 read_value(
00066 AnySimpleTypeReader & reader
00067 ) throw((IT_Bus::DeserializationException)) = 0;
00068
00073 virtual AnyType::Kind
00074 get_kind() const;
00075
00080 AnySimpleType &
00081 operator=(
00082 const AnySimpleType & rhs
00083 );
00084
00085 private:
00086
00087 AnySimpleType(const AnySimpleType&);
00088 };
00089 }
00090
00091 #endif