it_bus/sequence_complex_type.h

00001 #ifndef _IT_BUS_SEQUENCE_COMPLEX_TYPE_H_
00002 #define _IT_BUS_SEQUENCE_COMPLEX_TYPE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
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         ) IT_THROW_DECL((IT_Bus::DeserializationException));
00032         
00036         virtual void
00037         write(
00038             const QName& name,
00039             ComplexTypeWriter& writer
00040         ) const IT_THROW_DECL((IT_Bus::SerializationException));
00041 
00046         virtual void
00047         read_contents(
00048             ComplexTypeReader & os
00049         ) IT_THROW_DECL((DeserializationException)) = 0;
00050 
00055         virtual void
00056         write_contents(
00057             ComplexTypeWriter & os
00058         ) const IT_THROW_DECL((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  

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