ZeusBase-Library  2.0.4
XMLMessage.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch)
3  *****************************************************************************
4  * Project : Zeus Base Library
5  * Module : XMLMessage
6  * Package : Zeus.ZeusBase.Messaging
7  * Author : Benjamin Hadorn
8  * Date : 27.12.2011
9  * System : Zeus-Framework
10  *****************************************************************************
11  * Licence: *
12  * This library is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU Lesser General Public License as *
14  * published by the Free Software Foundation; either version *
15  * 2.1 of the License, or (at your option) any later version. *
16  * *
17  * This library is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU Lesser General Public License for more details. *
21  * *
22  * You should have received a copy of the GNU Lesser General Public *
23  * License along with this library; if not, write to the Free Software *
24  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
25  *****************************************************************************/
26 
27 /*****************************************************************************
28  * Changes:
29  * 27.12.2011 bha: created zeus 2.0
30  *****************************************************************************/
31 
32 #ifndef XMLMessageH
33 #define XMLMessageH
34 
37 
38 
40 
41 /***************************************************************************/
45 /***************************************************************************/
47 {
48  public:
49  TXMLMessage();
50  TXMLMessage(const TString& rstrStream);
51  TXMLMessage(NAMESPACE_Zeus::IXMLDocument& rDocu);
52 
53  //Methods of IXMLMessage;
54  virtual Retval MQUALIFIER getXMLDocument(NAMESPACE_Zeus::IXMLDocument*& rpDocument);
55  virtual Retval MQUALIFIER getXMLMainNode(NAMESPACE_Zeus::IXMLNode*& rpNode);
56  virtual void MQUALIFIER setXMLDocument(NAMESPACE_Zeus::IXMLDocument& rDocument);
57 
58  //Methods of IMessage
59  virtual void MQUALIFIER clearBody();
60  virtual void MQUALIFIER clearProperties() { TAbstractMessage::clearProperties(); }
61  virtual void MQUALIFIER getInterfaceID(InterfaceID& rIID) const;
62  virtual Uint MQUALIFIER getMessageID() const { return TAbstractMessage::getMessageID(); }
63  virtual Uint MQUALIFIER getPriority() const { return TAbstractMessage::getPriority(); }
64  virtual void MQUALIFIER getSender(TypGUID& rValue) const { TAbstractMessage::getSender(rValue); }
65  virtual void MQUALIFIER getRecipients(IList<TypGUID>& rlstValue) const { TAbstractMessage::getRecipients(rlstValue); }
66  virtual Retval MQUALIFIER getPropertyValue(const IString& rName, IString& rValue) const { return TAbstractMessage::getPropertyValue(rName, rValue); }
67  virtual Uint64 MQUALIFIER getTimeStamp() const { return TAbstractMessage::getTimeStamp(); }
68  virtual void MQUALIFIER setMessageID(Uint uiValue) { TAbstractMessage::setMessageID(uiValue); }
69  virtual void MQUALIFIER setPropertyValue(const IString& rName, const IString& rValue) { TAbstractMessage::setPropertyValue(rName, rValue); }
70  virtual void MQUALIFIER setPriority(Uint uiValue) { TAbstractMessage::setPriority(uiValue); }
71  virtual void MQUALIFIER setSender(const TypGUID& rValue) { TAbstractMessage::setSender(rValue); }
72  virtual void MQUALIFIER setRecipient(const TypGUID& rValue) { TAbstractMessage::setRecipient(rValue); }
73  virtual void MQUALIFIER setRecipients(const IList<TypGUID>& rlstValue) { TAbstractMessage::setRecipients(rlstValue); }
74  virtual void MQUALIFIER setTimeStamp(const Uint64& rui64Value) { TAbstractMessage::setTimeStamp(rui64Value); }
75 
76  //Methods of ISerializable
77  SERIAL_START(TXMLMessage, L"TXMLMessage")
78  //Message header
80  //Message body
81  SERIAL_XMLDOCUMENT(m_pXMLDocument)
83 
84  //Methods of IZUnknown
86 
87  protected:
88  virtual ~TXMLMessage();
89 
90  private:
92  NAMESPACE_Zeus::IXMLDocument* m_pXMLDocument;
93 };
94 
95 //INLINE METHODS
96 /***************************************************************************/
99 /***************************************************************************/
100 inline void MQUALIFIER TXMLMessage::getInterfaceID(InterfaceID& rIID) const
101 {
102  rIID = INTERFACE_IXMLMessage;
103 }
104 
105 
106 
107 
108 
110 
111 #endif
#define END_NAMESPACE_Zeus
Definition: PlatformDefines.hpp:96
#define zeusbase_class
Definition: PlatformDefines.hpp:165
#define SERIAL_START(classid, classname)
Definition: ISerializableImplHelper.hpp:221
Definition: PlatformDefines.hpp:327
virtual void MQUALIFIER getRecipients(IList< TypGUID > &rlstValue) const
Definition: XMLMessage.h:65
virtual void MQUALIFIER clearProperties()
Definition: XMLMessage.h:60
virtual void MQUALIFIER setRecipient(const TypGUID &rValue)
Definition: XMLMessage.h:72
Definition: XMLMessage.h:46
#define SERIAL_PARENTCLASS(classid)
Definition: ISerializableImplHelper.hpp:246
virtual Uint64 MQUALIFIER getTimeStamp() const
Definition: XMLMessage.h:67
virtual void MQUALIFIER setTimeStamp(const Uint64 &rui64Value)
Definition: XMLMessage.h:74
#define MQUALIFIER
Definition: LinuxPlatform.hpp:64
virtual void MQUALIFIER setSender(const TypGUID &rValue)
Definition: XMLMessage.h:71
unsigned long long Uint64
Definition: PlatformDefines.hpp:252
Definition: IList.hpp:57
#define BEGIN_NAMESPACE_Zeus
Definition: PlatformDefines.hpp:95
#define SERIAL_END
Definition: ISerializableImplHelper.hpp:606
Definition: AbstractMessage.h:51
virtual Retval MQUALIFIER getPropertyValue(const IString &rName, IString &rValue) const
Definition: XMLMessage.h:66
Definition: String.h:113
virtual Uint MQUALIFIER getMessageID() const
Definition: XMLMessage.h:62
virtual void MQUALIFIER setRecipients(const IList< TypGUID > &rlstValue)
Definition: XMLMessage.h:73
virtual void MQUALIFIER setPropertyValue(const IString &rName, const IString &rValue)
Definition: XMLMessage.h:69
#define INTERFACE_IXMLMessage
Definition: IXMLMessage.hpp:40
virtual void MQUALIFIER getSender(TypGUID &rValue) const
Definition: XMLMessage.h:64
virtual Uint MQUALIFIER getPriority() const
Definition: XMLMessage.h:63
virtual void MQUALIFIER setMessageID(Uint uiValue)
Definition: XMLMessage.h:68
#define SERIAL_XMLDOCUMENT(attrib)
Definition: ISerializableImplHelper.hpp:395
virtual void MQUALIFIER setPriority(Uint uiValue)
Definition: XMLMessage.h:70
#define MEMORY_MANAGER_DECL
Definition: IZUnknownImplHelper.hpp:44
Definition: IString.hpp:48
Definition: IXMLMessage.hpp:48


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Tue Sep 13 2016 22:30:53