it_bus/simpletype_list.h

00001 #ifndef _IT_BUS_SIMPLETYPE_LIST_H_
00002 #define _IT_BUS_SIMPLETYPE_LIST_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
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  

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