source: source/ariba/utility/messages/Message.cpp@ 9992

Last change on this file since 9992 was 8620, checked in by Christoph Mayer, 14 years ago

-mem leaks

File size: 3.1 KB
Line 
1// [License]
2// The Ariba-Underlay Copyright
3//
4// Copyright (c) 2008-2009, Institute of Telematics, UniversitÀt Karlsruhe (TH)
5//
6// Institute of Telematics
7// UniversitÀt Karlsruhe (TH)
8// Zirkel 2, 76128 Karlsruhe
9// Germany
10//
11// Redistribution and use in source and binary forms, with or without
12// modification, are permitted provided that the following conditions are
13// met:
14//
15// 1. Redistributions of source code must retain the above copyright
16// notice, this list of conditions and the following disclaimer.
17// 2. Redistributions in binary form must reproduce the above copyright
18// notice, this list of conditions and the following disclaimer in the
19// documentation and/or other materials provided with the distribution.
20//
21// THIS SOFTWARE IS PROVIDED BY THE INSTITUTE OF TELEMATICS ``AS IS'' AND
22// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ARIBA PROJECT OR
25// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32//
33// The views and conclusions contained in the software and documentation
34// are those of the authors and should not be interpreted as representing
35// official policies, either expressed or implied, of the Institute of
36// Telematics.
37// [License]
38
39#include "Message.h"
40#include "ariba/utility/serialization/Data.hpp"
41#include "ariba/utility/serialization/DataStream.hpp"
42
43NAMESPACE_BEGIN
44
45vsznDefault(Message); // virtual serialization
46
47/*
48Message::Message() :
49 root(), payload(), srcAddr(NULL), destAddr(NULL), ctrlInfo(NULL) {
50}
51*/
52
53Message::~Message() {
54 dropPayload();
55// if ( srcAddr != NULL) delete srcAddr;
56// if ( destAddr != NULL) delete destAddr;
57// if ( ctrlInfo != NULL ) delete ctrlInfo;
58}
59
60/* Returns a short human-readable description of this message
61 * @return A short human-readable description of this message
62 */
63const char* Message::getDescription() const {
64 return "<DEFAULT_MESSAGE>";
65}
66
67/* Returns a return message, that can be used to send a message
68 * back to the recipient or NULL if no message can be returned.
69 * The default implementation returns NULL.
70 * @return Return message.
71 */
72Message* Message::createReturnMessage() const {
73 return NULL;
74}
75
76std::string Message::toString() const {
77 std::stringstream buffer;
78 buffer << *this;
79 return buffer.str();
80}
81
82NAMESPACE_END
83
84std::ostream& operator<<(std::ostream& stream, const ariba::utility::Message& msg ) {
85 using_serialization;
86 stream << "msg(type=" << typeid(msg).name();
87 stream << "len=" << (data_length(&msg)/8) << ",";
88 Data data = data_serialize(&msg);
89 stream << ",data=" << data;
90 data.release();
91 stream << ")";
92 return stream;
93}
94
Note: See TracBrowser for help on using the repository browser.