reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
MessageDecorator.hxx
Go to the documentation of this file.
1#if !defined(RESIP_MESSAGE_DECORATOR_HXX)
2#define RESIP_MESSAGE_DECORATOR_HXX
3
4
5namespace resip
6{
7class Data;
8class SipMessage;
9class Tuple;
10
12{
13 public:
14 virtual ~MessageDecorator() {;}
15 virtual void decorateMessage(SipMessage &msg,
16 const Tuple &source,
17 const Tuple &destination,
18 const Data& sigcompId) = 0;
19 virtual void rollbackMessage(SipMessage& msg) = 0;
20 virtual MessageDecorator* clone() const = 0;
21
30 virtual bool copyToStackCancels() const { return false; }
31 virtual bool copyToStackFailureAcks() const { return false; }
32};
33
34}
35
36#endif
37
38/* ====================================================================
39 * The Vovida Software License, Version 1.0
40 *
41 * Copyright (c) 2000-2005 Vovida Networks, Inc. All rights reserved.
42 *
43 * Redistribution and use in source and binary forms, with or without
44 * modification, are permitted provided that the following conditions
45 * are met:
46 *
47 * 1. Redistributions of source code must retain the above copyright
48 * notice, this list of conditions and the following disclaimer.
49 *
50 * 2. Redistributions in binary form must reproduce the above copyright
51 * notice, this list of conditions and the following disclaimer in
52 * the documentation and/or other materials provided with the
53 * distribution.
54 *
55 * 3. The names "VOCAL", "Vovida Open Communication Application Library",
56 * and "Vovida Open Communication Application Library (VOCAL)" must
57 * not be used to endorse or promote products derived from this
58 * software without prior written permission. For written
59 * permission, please contact vocal@vovida.org.
60 *
61 * 4. Products derived from this software may not be called "VOCAL", nor
62 * may "VOCAL" appear in their name, without prior written
63 * permission of Vovida Networks, Inc.
64 *
65 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
66 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
67 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
68 * NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
69 * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
70 * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
71 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
72 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
73 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
74 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
75 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
76 * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
77 * DAMAGE.
78 *
79 * ====================================================================
80 *
81 * This software consists of voluntary contributions made by Vovida
82 * Networks, Inc. and many individuals on behalf of Vovida Networks,
83 * Inc. For more information on Vovida Networks, Inc., please see
84 * <http://www.vovida.org/>.
85 *
86 */
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition Data.hxx:90
virtual bool copyToStackFailureAcks() const
virtual bool copyToStackCancels() const
If this decorator is applied to an INVITE request, and the stack ends up needing to CANCEL it or to g...
virtual void decorateMessage(SipMessage &msg, const Tuple &source, const Tuple &destination, const Data &sigcompId)=0
virtual MessageDecorator * clone() const =0
virtual void rollbackMessage(SipMessage &msg)=0
Represents a SIP message.
Represents a network address.
Definition Tuple.hxx:59
dcm! – add UnusedChecking(_enum) below;