it_bus/simple_content_complex_type.h

00001 #ifndef _IT_BUS_SIMPLE_CONTENT_COMPLEX_TYPE_H_
00002 #define _IT_BUS_SIMPLE_CONTENT_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 #include <it_bus/deserialization_exception.h>
00010 
00011 namespace IT_Bus
00012 {
00013     class ComplexTypeReader;
00014     class ComplexTypeWriter;
00015     class AnySimpleTypeReader;
00016     class AnySimpleTypeWriter;
00017 
00022     class IT_AFC_API SimpleContentComplexType : 
00023         public virtual ComplexType,
00024         public virtual AnyType
00025     {
00026       public:
00027 
00031         SimpleContentComplexType() {};
00032 
00036         virtual void
00037         read(
00038             const QName& name,
00039             ComplexTypeReader& reader
00040         ) IT_THROW_DECL((IT_Bus::DeserializationException));
00041 
00045         virtual void
00046         write(
00047             const QName& name,
00048             ComplexTypeWriter& writer
00049         ) const IT_THROW_DECL((IT_Bus::SerializationException));
00050 
00055         virtual void
00056         write_value(
00057             AnySimpleTypeWriter & writer
00058         ) const IT_THROW_DECL((SerializationException)) = 0;
00059 
00064         virtual void
00065         read_value(
00066             AnySimpleTypeReader & reader
00067         ) IT_THROW_DECL((DeserializationException)) = 0;
00068 
00073         SimpleContentComplexType &
00074         operator=(
00075             const SimpleContentComplexType & rhs
00076         );
00077 
00082         virtual AnyType::Kind
00083         get_kind() const;
00084 
00085       private:
00086         SimpleContentComplexType(
00087             const SimpleContentComplexType & rhs
00088         );
00089     };
00090 }
00091 
00092 #endif  

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