it_bus/writable_message.h

00001 #ifndef _IT_BUS_WRITABLE_MESSAGE_H_
00002 #define _IT_BUS_WRITABLE_MESSAGE_H_
00003 
00004 // @Copyright 2004 IONA Technologies, Plc. All Rights Reserved.
00005 //
00006 
00007 #include <it_bus/types.h>
00008 #include <it_bus/part_list.h>
00009 
00010 namespace IT_Bus
00011 {
00012     class AnyType;
00013     class QName;
00014     class BinaryInParam;
00015     class DateTime;
00016 
00028     class IT_BUS_API WritableMessage
00029     {
00030       public:
00031         WritableMessage(
00032             size_t part_count = 0
00033         ) ;
00034 
00035         virtual ~WritableMessage();
00036 
00042         virtual PartList&
00043         get_parts();
00044 
00050         virtual const PartList&
00051         get_parts() const;
00052 
00053         virtual void
00054         add_part(
00055             const QName& name,
00056             const AnyType & part
00057         );
00058 
00059         virtual void
00060         add_part(
00061             const QName& name,
00062             const Boolean & part
00063         );
00064 
00065         virtual void
00066         add_part(
00067             const QName& name,
00068             const Float & part
00069         );
00070 
00071         virtual void
00072         add_part(
00073             const QName& name,
00074             const Double & part
00075         );
00076 
00077         virtual void
00078         add_part(
00079             const QName& name,
00080             const Int & part
00081         );
00082 
00083         virtual void
00084         add_part(
00085             const QName& name,
00086             const Long & part
00087         );
00088 
00089         virtual void
00090         add_part(
00091             const QName& name,
00092             const Short & part
00093         );
00094 
00095         virtual void
00096         add_part(
00097             const QName& name,
00098             const UInt & part
00099         );
00100 
00101         virtual void
00102         add_part(
00103             const QName& name,
00104             const ULong & part
00105         );
00106 
00107         virtual void
00108         add_part(
00109             const QName& name,
00110             const UShort & part
00111         );
00112 
00113         virtual void
00114         add_part(
00115             const QName& name,
00116             const Byte & part
00117         );
00118 
00119         virtual void
00120         add_part(
00121             const QName& name,
00122             const UByte & part
00123         );
00124 
00125         virtual void
00126         add_part(
00127             const QName& name,
00128             const DateTime & part
00129         );
00130 
00131         virtual void
00132         add_part(
00133             const QName& name,
00134             const String & part
00135         );
00136 
00137         virtual void
00138         add_part(
00139             const QName& name,
00140             const Decimal & part
00141         );
00142 
00143         virtual void
00144         add_part(
00145             const QName& name,
00146             const BinaryInParam & part
00147         );
00148 
00149         virtual void
00150         add_part(
00151             const QName& name,
00152             const QName & part
00153         );
00154 
00155         virtual void 
00156         set_wrapper_element_qname(
00157             const QName& name
00158         ) = 0;
00159 
00160         virtual const QName &
00161         get_wrapper_element_qname() = 0;
00162         
00163       protected:
00164         PartList m_parts;
00165 
00166       private:
00167         // private and unimplemented to prevent copying
00168         WritableMessage(const WritableMessage&);
00169         void operator=(const WritableMessage&);
00170     };
00171 }
00172 
00173 #endif  

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