it_bus/complex_type.h

00001 #ifndef _IT_BUS_COMPLEX_TYPE_H_
00002 #define _IT_BUS_COMPLEX_TYPE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/serialization_exception.h>
00008 #include <it_bus/deserialization_exception.h>
00009 #include <it_bus/api_defines.h>
00010 
00011 namespace IT_Bus
00012 {
00013     class ComplexTypeWriter;
00014     class ComplexTypeReader;
00015     
00022     class IT_AFC_API ComplexType
00023     {
00024       protected:
00025 
00026         ComplexType();
00027 
00028       public:
00029 
00030         virtual ~ComplexType();
00031 
00032         virtual void
00033         write_attributes(
00034             ComplexTypeWriter & writer
00035         ) const IT_THROW_DECL((SerializationException));
00036 
00037         virtual void
00038         read_attributes(
00039             ComplexTypeReader & reader
00040         ) IT_THROW_DECL((DeserializationException));
00041 
00042         virtual void
00043         write_all_attributes(
00044             ComplexTypeWriter & writer
00045         ) const IT_THROW_DECL((SerializationException));
00046 
00047         virtual void
00048         read_all_attributes(
00049             ComplexTypeReader & reader
00050         ) IT_THROW_DECL((DeserializationException));
00051 
00052 
00053       protected:
00054 
00055         ComplexType &
00056         operator=(
00057             const ComplexType & rhs
00058         );
00059 
00060       private:
00061 
00062         ComplexType(
00063             const ComplexType & rhs
00064         );
00065     };
00066 }
00067 
00068 #endif  

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