it_bus/element_list.h

00001 #ifndef _IT_BUS_ELEMENT_LIST_H_
00002 #define _IT_BUS_ELEMENT_LIST_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/any_type.h>
00008 #include <it_bus/min_max_list.h>
00009 
00010 namespace IT_Bus
00011 {
00012     class QName;
00013 
00017     class IT_AFC_API ElementList : public virtual AnyType, public MinMaxList
00018     {
00019       public:
00020 
00021         virtual void
00022         read(
00023             const QName& name,
00024             ComplexTypeReader& reader
00025         ) throw((IT_Bus::DeserializationException));
00026 
00027         virtual void
00028         write(
00029             const QName& name,
00030             ComplexTypeWriter& writer
00031         ) const throw((IT_Bus::SerializationException));
00032 
00038         virtual const QName& 
00039         get_type() const;
00040         
00046         virtual AnyType::Kind
00047         get_kind() const;
00048         
00054         virtual void
00055         read_element(
00056             size_t pos,
00057             ComplexTypeReader & os
00058         ) throw((DeserializationException)) = 0;
00059 
00065         virtual void
00066         write_element(
00067             size_t pos,
00068             ComplexTypeWriter & os
00069         ) const throw((SerializationException)) = 0;
00070 
00074         virtual const QName &
00075         get_item_name() const = 0;
00076 
00080         ElementList& operator=(
00081             const ElementList& rhs
00082         );
00083 
00084       protected:
00088         ElementList() {}
00089     };
00090 }
00091 
00092 #endif  

Generated on Tue Mar 20 15:27:41 2007 for Artix by  doxygen 1.5.1-p1