reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
ContentsFactory.hxx
Go to the documentation of this file.
1
#ifndef RESIP_ContentsFactory
2
#define RESIP_ContentsFactory
3
4
#include "
resip/stack/ContentsFactoryBase.hxx
"
5
6
namespace
resip
7
{
8
9
class
Contents;
10
14
template
<
class
T>
15
class
ContentsFactory
:
public
ContentsFactoryBase
16
{
17
public
:
18
ContentsFactory
()
19
:
ContentsFactoryBase
(T::getStaticType())
20
{}
21
22
explicit
ContentsFactory
(
const
Mime
& nonStandardType)
23
:
ContentsFactoryBase
(nonStandardType)
24
{}
25
26
// pass Mime instance for parameters
27
virtual
Contents
*
create
(
const
HeaderFieldValue
& hfv,
const
Mime
& contentType)
const
28
{
29
return
new
T(hfv, contentType);
30
}
31
32
virtual
Contents
*
convert
(
Contents
* c)
const
33
{
34
return
dynamic_cast<
T*
>
(c);
35
}
36
};
37
38
}
39
40
#endif
41
42
/* ====================================================================
43
* The Vovida Software License, Version 1.0
44
*
45
* Copyright (c) 2000-2005
46
*
47
* Redistribution and use in source and binary forms, with or without
48
* modification, are permitted provided that the following conditions
49
* are met:
50
*
51
* 1. Redistributions of source code must retain the above copyright
52
* notice, this list of conditions and the following disclaimer.
53
*
54
* 2. Redistributions in binary form must reproduce the above copyright
55
* notice, this list of conditions and the following disclaimer in
56
* the documentation and/or other materials provided with the
57
* distribution.
58
*
59
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
60
* and "Vovida Open Communication Application Library (VOCAL)" must
61
* not be used to endorse or promote products derived from this
62
* software without prior written permission. For written
63
* permission, please contact vocal@vovida.org.
64
*
65
* 4. Products derived from this software may not be called "VOCAL", nor
66
* may "VOCAL" appear in their name, without prior written
67
* permission of Vovida Networks, Inc.
68
*
69
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
70
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
71
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
72
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
73
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
74
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
75
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
76
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
77
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
78
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
79
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
80
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
81
* DAMAGE.
82
*
83
* ====================================================================
84
*
85
* This software consists of voluntary contributions made by Vovida
86
* Networks, Inc. and many individuals on behalf of Vovida Networks,
87
* Inc. For more information on Vovida Networks, Inc., please see
88
* <http://www.vovida.org/>.
89
*
90
*/
ContentsFactoryBase.hxx
resip::ContentsFactoryBase
Definition
ContentsFactoryBase.hxx:17
resip::ContentsFactory
Definition
ContentsFactory.hxx:16
resip::ContentsFactory::create
virtual Contents * create(const HeaderFieldValue &hfv, const Mime &contentType) const
Definition
ContentsFactory.hxx:27
resip::ContentsFactory::ContentsFactory
ContentsFactory()
Definition
ContentsFactory.hxx:18
resip::ContentsFactory::convert
virtual Contents * convert(Contents *c) const
Definition
ContentsFactory.hxx:32
resip::ContentsFactory::ContentsFactory
ContentsFactory(const Mime &nonStandardType)
Definition
ContentsFactory.hxx:22
resip::Contents
Base class for all SIP body types.
Definition
Contents.hxx:51
resip::HeaderFieldValue
Definition
HeaderFieldValue.hxx:21
resip::Mime
Represents the "media-type" element in the RFC 3261 grammar.
Definition
Mime.hxx:20
resip
dcm! – add UnusedChecking(_enum) below;
Definition
AbstractFifo.hxx:16
resip
stack
ContentsFactory.hxx
Generated by
1.9.8