it_bus/complex_type_reader.h

00001 #ifndef _IT_BUS_COMPLEX_TYPE_READER_H_
00002 #define _IT_BUS_COMPLEX_TYPE_READER_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/types.h>
00008 #include <it_bus/deserialization_exception.h>
00009 
00010 namespace IT_Bus
00011 {
00012     class AllComplexType;
00013     class AnyHolder;
00014     class Any;
00015     class AnyList;
00016     class AnySimpleType;
00017     class AnyType;
00018     class BinaryOutParam;
00019     class ChoiceComplexType;
00020     class ComplexContentComplexType;
00021     class ElementList;
00022     class TypeList;
00023     class Nillable;
00024     class QName;
00025     class SequenceComplexType;
00026     class SimpleContentComplexType;
00027     class SoapEncArray;
00028     class SimpleTypeList;
00029     class SimpleTypeUnion;
00030     class ComplexTypeWithSubstitution;
00031 
00032     template<class T>
00033     class QNameHashMap;
00034     
00035     class IT_AFC_API ComplexTypeReader
00036     {
00037       public:
00038 
00039         ComplexTypeReader();
00040         
00041         virtual ~ComplexTypeReader();
00042 
00043         virtual void
00044         read(
00045             const QName& name,
00046             AnyType& data
00047         ) IT_THROW_DECL((DeserializationException));
00048 
00049 
00050         virtual void
00051         read(
00052             const QName & name,
00053             Boolean& data
00054         ) IT_THROW_DECL((DeserializationException)) = 0;
00055 
00056         virtual void
00057         read(
00058             const QName & name,
00059             Float& data
00060         ) IT_THROW_DECL((DeserializationException)) = 0;
00061 
00062         virtual void
00063         read(
00064             const QName & name,
00065             Double& data
00066         ) IT_THROW_DECL((DeserializationException)) = 0;
00067 
00068         virtual void
00069         read(
00070             const QName & name,
00071             Int& data
00072         ) IT_THROW_DECL((DeserializationException)) = 0;
00073 
00074         virtual void
00075         read(
00076             const QName & name,
00077             Long& data
00078         ) IT_THROW_DECL((DeserializationException)) = 0;
00079 
00080         virtual void
00081         read(
00082             const QName & name,
00083             Short& data
00084         ) IT_THROW_DECL((DeserializationException)) = 0;
00085 
00086         virtual void
00087         read(
00088             const QName & name,
00089             UInt& data
00090         ) IT_THROW_DECL((DeserializationException)) = 0;
00091 
00092         virtual void
00093         read(
00094             const QName & name,
00095             ULong& data
00096         ) IT_THROW_DECL((DeserializationException)) = 0;
00097 
00098         virtual void
00099         read(
00100             const QName & name,
00101             UShort& data
00102         ) IT_THROW_DECL((DeserializationException)) = 0;
00103 
00104         virtual void
00105         read(
00106             const QName & name,
00107             Byte& data
00108         ) IT_THROW_DECL((DeserializationException)) = 0;
00109 
00110         virtual void
00111         read(
00112             const QName & name,
00113             UByte& data
00114         ) IT_THROW_DECL((DeserializationException)) = 0;
00115 
00116         virtual void
00117         read(
00118             const QName & name,
00119             DateTime& date 
00120         ) IT_THROW_DECL((DeserializationException)) = 0;
00121 
00122         virtual void
00123         read(
00124             const QName & name,
00125             String& data
00126         ) IT_THROW_DECL((DeserializationException)) = 0;
00127 
00128         virtual void 
00129         read(
00130             const QName & name,
00131             Decimal& data
00132         ) IT_THROW_DECL((DeserializationException)) = 0;
00133 
00134         virtual void
00135         read(
00136             const QName & name,
00137             BinaryOutParam& data
00138         ) IT_THROW_DECL((DeserializationException)) = 0;
00139 
00140         virtual void
00141         read(
00142             const QName & name,
00143             QName & data
00144         ) IT_THROW_DECL((DeserializationException)) = 0;
00145 
00146         virtual void 
00147         read_any_simple(
00148             const QName & name,
00149             AnySimpleType & data
00150         ) IT_THROW_DECL((DeserializationException)) = 0;
00151 
00152         virtual void 
00153         read_simple_type_list(
00154             const QName & name,
00155             SimpleTypeList & data
00156         ) IT_THROW_DECL((DeserializationException)) = 0;
00157 
00158         virtual void 
00159         read_simple_type_union(
00160             const QName & name,
00161             SimpleTypeUnion & data
00162         ) IT_THROW_DECL((DeserializationException)) = 0;
00163 
00164         virtual void 
00165         read_sequence(
00166             const QName & name,
00167             SequenceComplexType & data
00168         ) IT_THROW_DECL((DeserializationException)) = 0;
00169 
00170         virtual void
00171         read_all(
00172             const QName & name,
00173             AllComplexType & data
00174         ) IT_THROW_DECL((DeserializationException)) = 0;
00175 
00176         virtual void
00177         read_choice(
00178             const QName & name,
00179             ChoiceComplexType & data
00180         ) IT_THROW_DECL((DeserializationException)) = 0;
00181 
00182         virtual void
00183         read_simple_content(
00184             const QName & name,
00185             SimpleContentComplexType & data
00186         ) IT_THROW_DECL((DeserializationException)) = 0;
00187 
00188         virtual void
00189         read_element_list(
00190             const QName & name,
00191             ElementList& list
00192         ) IT_THROW_DECL((DeserializationException)) = 0;
00193 
00194         virtual void
00195         read_type_list(
00196             const QName & name,
00197             TypeList& list
00198         ) IT_THROW_DECL((DeserializationException)) = 0;
00199 
00200         virtual void
00201         read_soap_enc_array(
00202             const QName & name,
00203             SoapEncArray& data
00204         ) IT_THROW_DECL((DeserializationException)) = 0;
00205 
00206         virtual void
00207         read_complex_content(
00208             const QName & name,
00209             ComplexContentComplexType & data
00210         ) IT_THROW_DECL((DeserializationException)) = 0;
00211 
00212         virtual void
00213         read_nillable(
00214             const QName& name,
00215             Nillable& data
00216         ) IT_THROW_DECL((DeserializationException)) = 0;
00217 
00218         virtual void 
00219         read_any_holder(
00220             const QName & name,
00221             AnyHolder& data
00222         ) IT_THROW_DECL((DeserializationException)) = 0;
00223 
00224         virtual void 
00225         read_any(
00226             const QName& name,
00227             Any&         data
00228         ) IT_THROW_DECL((DeserializationException)) = 0;
00229 
00230         virtual void 
00231         read_any_list(
00232             const QName&  name,
00233             TypeList&     data
00234         ) IT_THROW_DECL((DeserializationException)) = 0;
00235 
00236         virtual QName
00237         get_xsi_type() const = 0;
00238 
00239         virtual void
00240         read_substitution(
00241             IT_Bus::UInt id,
00242             ComplexTypeWithSubstitution & data
00243         ) IT_THROW_DECL((DeserializationException)) = 0;
00244 
00245         virtual void
00246         read_attribute_map(
00247             IT_Bus::QNameHashMap<IT_Bus::String> & map
00248         ) IT_THROW_DECL((DeserializationException)) = 0;
00249     };
00250 }
00251 
00252 #endif  

Generated on Thu Sep 7 11:38:52 2006 for Artix by  doxygen 1.4.7