00001 #ifndef _IT_BUS_SEQUENCE_COMPLEX_TYPE_H_
00002 #define _IT_BUS_SEQUENCE_COMPLEX_TYPE_H_
00003
00004
00005
00006
00007 #include <it_bus/any_type.h>
00008 #include <it_bus/complex_type.h>
00009
00010 namespace IT_Bus
00011 {
00012 class QName;
00013 class ComplexTypeReader;
00014 class ComplexTypeWriter;
00015
00020 class IT_AFC_API SequenceComplexType : public virtual ComplexType, public virtual AnyType
00021 {
00022 public:
00023
00027 virtual void
00028 read(
00029 const QName& name,
00030 ComplexTypeReader& reader
00031 ) throw((IT_Bus::DeserializationException));
00032
00036 virtual void
00037 write(
00038 const QName& name,
00039 ComplexTypeWriter& writer
00040 ) const throw((IT_Bus::SerializationException));
00041
00046 virtual void
00047 read_contents(
00048 ComplexTypeReader & os
00049 ) throw((DeserializationException)) = 0;
00050
00055 virtual void
00056 write_contents(
00057 ComplexTypeWriter & os
00058 ) const throw((SerializationException)) = 0;
00059
00064 virtual AnyType::Kind
00065 get_kind() const;
00066
00071 SequenceComplexType& operator=(
00072 const SequenceComplexType & rhs
00073 );
00074
00075 protected:
00079 SequenceComplexType() {}
00080 };
00081 }
00082
00083 #endif