reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
SipFrag.hxx
Go to the documentation of this file.
1
#if !defined(RESIP_SIPFRAG_HXX)
2
#define RESIP_SIPFRAG_HXX
3
4
#include <map>
5
6
#include "
resip/stack/Contents.hxx
"
7
#include "
resip/stack/Uri.hxx
"
8
#include "
rutil/Data.hxx
"
9
10
namespace
resip
11
{
12
13
class
SipMessage;
14
15
// Mostly works --
16
// Preparse insists on a start line while SIP frag may not have one.
21
class
SipFrag
:
public
Contents
22
{
23
public
:
24
SipFrag
(
const
Mime
& contentsType =
getStaticType
());
25
SipFrag
(
const
HeaderFieldValue
& hfv,
const
Mime
& contentsType);
26
SipFrag
(
const
Data
& data,
const
Mime
& contentsType);
27
SipFrag
(
const
SipFrag
& rhs);
28
virtual
~SipFrag
();
29
SipFrag
&
operator=
(
const
SipFrag
& rhs);
30
34
virtual
Contents
*
clone
()
const
;
35
36
static
const
Mime
&
getStaticType
() ;
37
38
SipMessage
&
message
();
39
const
SipMessage
&
message
()
const
;
40
41
virtual
EncodeStream
&
encodeParsed
(
EncodeStream
& str)
const
;
42
virtual
void
parse
(
ParseBuffer
& pb);
43
44
static
bool
init
();
45
46
private
:
47
bool
hasStartLine(
char
* buffer,
int
size);
48
SipMessage
* mMessage;
49
char
scratchpad[4];
50
};
51
52
static
bool
invokeSipFragInit
=
SipFrag::init
();
53
54
}
55
56
#endif
57
58
/* ====================================================================
59
* The Vovida Software License, Version 1.0
60
*
61
* Copyright (c) 2000 Vovida Networks, Inc. All rights reserved.
62
*
63
* Redistribution and use in source and binary forms, with or without
64
* modification, are permitted provided that the following conditions
65
* are met:
66
*
67
* 1. Redistributions of source code must retain the above copyright
68
* notice, this list of conditions and the following disclaimer.
69
*
70
* 2. Redistributions in binary form must reproduce the above copyright
71
* notice, this list of conditions and the following disclaimer in
72
* the documentation and/or other materials provided with the
73
* distribution.
74
*
75
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
76
* and "Vovida Open Communication Application Library (VOCAL)" must
77
* not be used to endorse or promote products derived from this
78
* software without prior written permission. For written
79
* permission, please contact vocal@vovida.org.
80
*
81
* 4. Products derived from this software may not be called "VOCAL", nor
82
* may "VOCAL" appear in their name, without prior written
83
* permission of Vovida Networks, Inc.
84
*
85
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
86
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
87
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
88
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
89
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
90
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
91
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
92
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
93
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
94
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
95
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
96
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
97
* DAMAGE.
98
*
99
* ====================================================================
100
*
101
* This software consists of voluntary contributions made by Vovida
102
* Networks, Inc. and many individuals on behalf of Vovida Networks,
103
* Inc. For more information on Vovida Networks, Inc., please see
104
* <http://www.vovida.org/>.
105
*
106
*/
Contents.hxx
Data.hxx
Uri.hxx
resip::Contents
Base class for all SIP body types.
Definition
Contents.hxx:51
resip::Data
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
Definition
Data.hxx:90
resip::HeaderFieldValue
Definition
HeaderFieldValue.hxx:21
resip::Mime
Represents the "media-type" element in the RFC 3261 grammar.
Definition
Mime.hxx:20
resip::ParseBuffer
Provides string-parsing functionality with protection from buffer overflow.
Definition
ParseBuffer.hxx:18
resip::SipFrag
SIP body type for holding SipFrag contents (MIME content-type message/sipfrag).
Definition
SipFrag.hxx:22
resip::SipFrag::operator=
SipFrag & operator=(const SipFrag &rhs)
Definition
SipFrag.cxx:48
resip::SipFrag::parse
virtual void parse(ParseBuffer &pb)
Definition
SipFrag.cxx:173
resip::SipFrag::~SipFrag
virtual ~SipFrag()
Definition
SipFrag.cxx:42
resip::SipFrag::message
SipMessage & message()
Definition
SipFrag.cxx:82
resip::SipFrag::init
static bool init()
Definition
SipFrag.cxx:18
resip::SipFrag::encodeParsed
virtual EncodeStream & encodeParsed(EncodeStream &str) const
Definition
SipFrag.cxx:96
resip::SipFrag::SipFrag
SipFrag(const Data &data, const Mime &contentsType)
resip::SipFrag::getStaticType
static const Mime & getStaticType()
Definition
SipFrag.cxx:74
resip::SipFrag::clone
virtual Contents * clone() const
duplicate an SipFrag object
Definition
SipFrag.cxx:68
resip::SipMessage
Represents a SIP message.
Definition
SipMessage.hxx:175
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
resip::invokeSipFragInit
static bool invokeSipFragInit
Definition
SipFrag.hxx:52
EncodeStream
#define EncodeStream
Definition
resipfaststreams.hxx:461
resip
stack
SipFrag.hxx
Generated by
1.9.8