00001 #ifndef _IT_BUS_SIMPLETYPE_LIST_H_
00002 #define _IT_BUS_SIMPLETYPE_LIST_H_
00003
00004
00005
00006
00007 #include <it_bus/any_type.h>
00008
00009 namespace IT_Bus
00010 {
00011 class QName;
00012 class AnySimpleTypeReader;
00013 class AnySimpleTypeWriter;
00014
00019 class IT_AFC_API SimpleTypeList : public virtual AnyType
00020 {
00021 public:
00022
00023 virtual void
00024 read(
00025 const QName& name,
00026 ComplexTypeReader& reader
00027 ) throw((IT_Bus::DeserializationException));
00028
00029 virtual void
00030 write(
00031 const QName& name,
00032 ComplexTypeWriter& writer
00033 ) const throw((IT_Bus::SerializationException));
00034
00040 virtual const QName&
00041 get_type() const;
00042
00047 virtual AnyType::Kind
00048 get_kind() const;
00049
00055 virtual void
00056 read_item(
00057 size_t pos,
00058 AnySimpleTypeReader & os
00059 ) throw((DeserializationException)) = 0;
00060
00066 virtual void
00067 write_item(
00068 size_t pos,
00069 AnySimpleTypeWriter & os
00070 ) const throw((SerializationException)) = 0;
00071
00077 virtual void
00078 set_size(
00079 size_t new_size
00080 ) = 0;
00081
00087 virtual size_t
00088 get_size() const = 0;
00089
00093 SimpleTypeList& operator=(
00094 const SimpleTypeList& rhs
00095 );
00096
00097 protected:
00101 SimpleTypeList() {}
00102 };
00103 }
00104
00105 #endif