Xerces-C++ 3.3.0

SecurityManager.hpp
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id$
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_SECURITYMANAGER_HPP)
23#define XERCESC_INCLUDE_GUARD_SECURITYMANAGER_HPP
24
25#include <xercesc/util/XercesDefs.hpp>
26
27 XERCES_CPP_NAMESPACE_BEGIN
28
51 class XMLUTIL_EXPORT SecurityManager
52{
53 public:
54
55 enum { ENTITY_EXPANSION_LIMIT = 50000};
56
60 SecurityManager()
61 : fEntityExpansionLimit((XMLSize_t)ENTITY_EXPANSION_LIMIT)
62 {
63 }
64
66 virtual ~SecurityManager(){};
68
83 virtual void setEntityExpansionLimit(XMLSize_t newLimit)
84 {
85 fEntityExpansionLimit = newLimit;
86 }
87
95 virtual XMLSize_t getEntityExpansionLimit() const
96 {
97 return fEntityExpansionLimit;
98 }
100
101 protected:
102 XMLSize_t fEntityExpansionLimit;
103
104 private:
105
106 /* Unimplemented Constructors and operators */
107 /* Copy constructor */
108 SecurityManager(const SecurityManager&);
109
111 SecurityManager& operator=(const SecurityManager&);
112};
113
114 XERCES_CPP_NAMESPACE_END
115
116#endif
XercesDefs.hpp
XERCES_CPP_NAMESPACE_BEGIN
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
XMLUTIL_EXPORT
#define XMLUTIL_EXPORT
Definition XercesDefs.hpp:162
XERCES_CPP_NAMESPACE_END
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
XMLSize_t
size_t XMLSize_t
Definition Xerces_autoconf_config.hpp:112
SecurityManager
Allow application to force the parser to behave in a security-conscious way.
Definition SecurityManager.hpp:52
SecurityManager::~SecurityManager
virtual ~SecurityManager()
Destructor.
Definition SecurityManager.hpp:66
SecurityManager::fEntityExpansionLimit
XMLSize_t fEntityExpansionLimit
Definition SecurityManager.hpp:102
SecurityManager::SecurityManager
SecurityManager()
Default constructor.
Definition SecurityManager.hpp:60
SecurityManager::setEntityExpansionLimit
virtual void setEntityExpansionLimit(XMLSize_t newLimit)
An application should call this method when it wishes to specify a particular limit to the number of ...
Definition SecurityManager.hpp:83
SecurityManager::getEntityExpansionLimit
virtual XMLSize_t getEntityExpansionLimit() const
Permits the application or a parser component to query the current limit for entity expansions.
Definition SecurityManager.hpp:95