1
#if !defined(RESIP_PRIVACY_CATEGORY_HXX)
2
#define RESIP_PRIVACY_CATEGORY_HXX
5
#include "rutil/Data.hxx"
6
#include "resip/stack/ParserCategory.hxx"
7
#include "resip/stack/ParserContainer.hxx"
15
@brief Represents the "token" element in the RFC 3261 grammar.
17
class PrivacyCategory : public ParserCategory
20
enum {commaHandling = CommasAllowedOutputCommas};
23
explicit PrivacyCategory(const Data& d);
24
PrivacyCategory(const HeaderFieldValue& hfv,
27
PrivacyCategory(const PrivacyCategory& orig,
29
PrivacyCategory& operator=(const PrivacyCategory&);
31
const std::vector<Data>& value() const;
32
std::vector<Data>& value();
34
virtual void parse(ParseBuffer& pb); // remember to call parseParameters()
35
virtual ParserCategory* clone() const;
36
virtual ParserCategory* clone(void* location) const;
37
virtual ParserCategory* clone(PoolBase* pool) const;
38
virtual EncodeStream& encodeParsed(EncodeStream& str) const;
40
std::vector<Data> mValue;
42
typedef ParserContainer<PrivacyCategory> PrivacyCategories;
48
/* ====================================================================
49
* The Vovida Software License, Version 1.0
51
* Copyright (c) 2000-2005 Vovida Networks, Inc. All rights reserved.
53
* Redistribution and use in source and binary forms, with or without
54
* modification, are permitted provided that the following conditions
57
* 1. Redistributions of source code must retain the above copyright
58
* notice, this list of conditions and the following disclaimer.
60
* 2. Redistributions in binary form must reproduce the above copyright
61
* notice, this list of conditions and the following disclaimer in
62
* the documentation and/or other materials provided with the
65
* 3. The names "VOCAL", "Vovida Open Communication Application Library",
66
* and "Vovida Open Communication Application Library (VOCAL)" must
67
* not be used to endorse or promote products derived from this
68
* software without prior written permission. For written
69
* permission, please contact vocal@vovida.org.
71
* 4. Products derived from this software may not be called "VOCAL", nor
72
* may "VOCAL" appear in their name, without prior written
73
* permission of Vovida Networks, Inc.
75
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
76
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
77
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
78
* NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL VOVIDA
79
* NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
80
* IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
81
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
82
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
83
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
84
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
85
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
86
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
89
* ====================================================================
91
* This software consists of voluntary contributions made by Vovida
92
* Networks, Inc. and many individuals on behalf of Vovida Networks,
93
* Inc. For more information on Vovida Networks, Inc., please see
94
* <http://www.vovida.org/>.