/usr/include/shibsp/util/PropertySet.h is in libshibsp-dev 2.6.0+dfsg1-4+deb9u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | /**
* Licensed to the University Corporation for Advanced Internet
* Development, Inc. (UCAID) under one or more contributor license
* agreements. See the NOTICE file distributed with this work for
* additional information regarding copyright ownership.
*
* UCAID licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the
* License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*/
/**
* @file shibsp/util/PropertySet.h
*
* Interface to a generic set of typed properties or a DOM container of additional data.
*/
#ifndef __shibsp_propset_h__
#define __shibsp_propset_h__
#include <shibsp/util/SPConstants.h>
#include <map>
#include <string>
#include <xercesc/dom/DOM.hpp>
namespace shibsp {
/**
* Interface to a generic set of typed properties or a DOM container of additional data.
*/
class SHIBSP_API PropertySet
{
MAKE_NONCOPYABLE(PropertySet);
protected:
PropertySet();
public:
virtual ~PropertySet();
/**
* Returns parent of this PropertySet, if any.
*
* @return the parent object, or nullptr
*/
virtual const PropertySet* getParent() const=0;
/**
* Establishes a "parent" PropertySet to supply inherited settings.
*
* @param parent the parent PropertySet to use
*/
virtual void setParent(const PropertySet* parent)=0;
/**
* Returns a boolean-valued property.
*
* @param name property name
* @param ns property namespace, or nullptr
* @return a pair consisting of a nullptr indicator and the property value iff the indicator is true
*/
virtual std::pair<bool,bool> getBool(const char* name, const char* ns=nullptr) const=0;
/**
* Returns a string-valued property.
*
* @param name property name
* @param ns property namespace, or nullptr
* @return a pair consisting of a nullptr indicator and the property value iff the indicator is true
*/
virtual std::pair<bool,const char*> getString(const char* name, const char* ns=nullptr) const=0;
/**
* Returns a Unicode string-valued property.
*
* @param name property name
* @param ns property namespace, or nullptr
* @return a pair consisting of a nullptr indicator and the property value iff the indicator is true
*/
virtual std::pair<bool,const XMLCh*> getXMLString(const char* name, const char* ns=nullptr) const=0;
/**
* Returns an unsigned integer-valued property.
*
* @param name property name
* @param ns property namespace, or nullptr
* @return a pair consisting of a nullptr indicator and the property value iff the indicator is true
*/
virtual std::pair<bool,unsigned int> getUnsignedInt(const char* name, const char* ns=nullptr) const=0;
/**
* Returns an integer-valued property.
*
* @param name property name
* @param ns property namespace, or nullptr
* @return a pair consisting of a nullptr indicator and the property value iff the indicator is true
*/
virtual std::pair<bool,int> getInt(const char* name, const char* ns=nullptr) const=0;
/**
* Returns a map of all known properties in string form.
*
* @param properties map to populate
*/
virtual void getAll(std::map<std::string,const char*>& properties) const=0;
/**
* Returns a nested property set.
*
* @param name nested property set name
* @param ns nested property set namespace, or nullptr
* @return the nested property set, or nullptr
*/
virtual const PropertySet* getPropertySet(const char* name, const char* ns=shibspconstants::ASCII_SHIB2SPCONFIG_NS) const=0;
/**
* Returns a DOM element representing the property container, if any.
*
* @return a DOM element, or nullptr
*/
virtual const xercesc::DOMElement* getElement() const=0;
};
};
#endif /* __shibsp_propset_h__ */
|