/usr/include/arc/security/ArcPDP/attr/RequestAttribute.h is in nordugrid-arc-dev 4.0.0-1.
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 | #ifndef __ARC_SEC_REQUESTATTRIBUTE_H__
#define __ARC_SEC_REQUESTATTRIBUTE_H__
#include <list>
#include <arc/XMLNode.h>
#include <arc/Logger.h>
#include "AttributeValue.h"
#include "AttributeFactory.h"
namespace ArcSec {
//typedef std::list<AttributeValue*> AttrValList;
///Wrapper which includes AttributeValue object which is generated according to date type of one spefic node in Request.xml
class RequestAttribute {
public:
/**Constructor - create attribute value object according to the "Type" in the node
<Attribute AttributeId="urn:arc:subject:voms-attribute" Type="string">urn:mace:shibboleth:examples</Attribute>
*/
RequestAttribute(Arc::XMLNode& node, AttributeFactory* attrfactory);
RequestAttribute();
virtual ~RequestAttribute();
public:
Arc::XMLNode getNode();
std::string getAttributeId () const;
void setAttributeId (const std::string& attributeId);
std::string getDataType () const;
void setDataType (const std::string& dataType);
std::string getIssuer () const;
void setIssuer (const std::string& issuer);
//AttrValList getAttributeValueList () const;
//void setAttributeValueList (const AttrValList& attributeValueList);
virtual AttributeValue* getAttributeValue() const;
virtual AttributeFactory* getAttributeFactory() const;
/**Duplicate the parameter into "this"*/
RequestAttribute& duplicate(RequestAttribute&);
//protect:
//AttrValList avlist;
private:
static Arc::Logger logger;
/**the <Attribute> node*/
Arc::XMLNode node_;
/**id of this <Attribute>, it could be useful if the policy specify <AttributeDesignator> to get value from request*/
std::string id;
/**data type of <Attribute> node, it a important factor for generating the different AttributeValue objects*/
std::string type;
/**issuer of the value of <Attribute>; it could be useful if the policy */
std::string issuer;
//AttrValList avlist;
/**the AttributeValue object*/
AttributeValue* attrval;
/**the AttributeFactory which is used to generate the AttributeValue object*/
AttributeFactory* attrfactory;
};
} // namespace ArcSec
#endif /* __ARC_SEC_REQUESTATTRIBUTE_H__ */
|