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

Last change on this file since 2390 was 2390, checked in by mies, 16 years ago
File size: 3.1 KB
Line 
1// [Licence]
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// [Licence]
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// if ( srcAddr != NULL) delete srcAddr;
55// if ( destAddr != NULL) delete destAddr;
56// if ( ctrlInfo != NULL ) delete ctrlInfo;
57}
58
59/* Returns a short human-readable description of this message
60 * @return A short human-readable description of this message
61 */
62const char* Message::getDescription() const {
63 return "<DEFAULT_MESSAGE>";
64}
65
66/* Returns a return message, that can be used to send a message
67 * back to the recipient or NULL if no message can be returned.
68 * The default implementation returns NULL.
69 * @return Return message.
70 */
71Message* Message::createReturnMessage() const {
72 return NULL;
73}
74
75std::string Message::toString() const {
76 std::stringstream buffer;
77 buffer << *this;
78 return buffer.str();
79}
80
81NAMESPACE_END
82
83std::ostream& operator<<(std::ostream& stream, const ariba::utility::Message& msg ) {
84 using_serialization;
85 stream << "msg(type=" << typeid(msg).name();
86 stream << "len=" << (data_length(&msg)/8) << ",";
87 Data data = data_serialize(&msg);
88 stream << ",data=" << data;
89// data.release();
90 stream << ")";
91 return stream;
92}
93
Note: See TracBrowser for help on using the repository browser.