00001 #ifndef _IT_BUS_WRITABLE_MESSAGE_H_
00002 #define _IT_BUS_WRITABLE_MESSAGE_H_
00003
00004
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
00168 WritableMessage(const WritableMessage&);
00169 void operator=(const WritableMessage&);
00170 };
00171 }
00172
00173 #endif