Back to index

nordugrid-arc-nox  1.1.0~rc6
Public Member Functions | Protected Member Functions | Static Protected Attributes | Private Member Functions
ArcSec::Evaluator Class Reference

Interface for policy evaluation. Execute the policy evaluation, based on the request and policy. More...

#include <Evaluator.h>

Inheritance diagram for ArcSec::Evaluator:
Inheritance graph
[legend]
Collaboration diagram for ArcSec::Evaluator:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Evaluator (Arc::XMLNode *)
 Evaluator (const char *)
virtual ~Evaluator ()
virtual Responseevaluate (Request *request)=0
 Evaluates the request by using a Request object.
virtual Responseevaluate (const Source &request)=0
 Evaluates the request by using a specified source.
virtual Responseevaluate (Request *request, const Source &policy)=0
 Evaluate the specified request against the policy from specified source.
virtual Responseevaluate (const Source &request, const Source &policy)=0
 Evaluate the request from specified source against the policy from specified source.
virtual Responseevaluate (Request *request, Policy *policyobj)=0
 Evaluate the specified request against the specified policy.
virtual Responseevaluate (const Source &request, Policy *policyobj)=0
 Evaluate the request from specified source against the specified policy.
virtual AttributeFactorygetAttrFactory ()=0
 Get the AttributeFactory object.
virtual FnFactorygetFnFactory ()=0
 Get the FnFactory object.
virtual AlgFactorygetAlgFactory ()=0
 Get the AlgFactory object.
virtual void addPolicy (const Source &policy, const std::string &id="")=0
 Add policy from specified source to the evaluator.
virtual void addPolicy (Policy *policy, const std::string &id="")=0
 Add policy to the evaluator.
virtual void setCombiningAlg (EvaluatorCombiningAlg alg)=0
 Specifies one of simple combining algorithms.
virtual void setCombiningAlg (CombiningAlg *alg=NULL)=0
 Specifies loadable combining algorithms.
virtual const char * getName (void) const =0
 Get the name of this evaluator.

Protected Member Functions

virtual Responseevaluate (EvaluationCtx *ctx)=0
 Evaluate the request by using the EvaluationCtx object (which includes the information about request).

Static Protected Attributes

static Arc::Logger logger

Private Member Functions

virtual void parsecfg (Arc::XMLNode &cfg)=0
 Parse the configuration, and dynamically create PolicyStore, AttributeFactory, FnFactory and AlgFactoryy.

Detailed Description

Interface for policy evaluation. Execute the policy evaluation, based on the request and policy.

Definition at line 33 of file Evaluator.h.


Constructor & Destructor Documentation

Definition at line 37 of file Evaluator.h.

{};
ArcSec::Evaluator::Evaluator ( const char *  ) [inline]

Definition at line 38 of file Evaluator.h.

{};
virtual ArcSec::Evaluator::~Evaluator ( ) [inline, virtual]

Definition at line 39 of file Evaluator.h.

{};

Member Function Documentation

virtual void ArcSec::Evaluator::addPolicy ( const Source policy,
const std::string &  id = "" 
) [pure virtual]

Add policy from specified source to the evaluator.

Policy will be marked with id.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

virtual void ArcSec::Evaluator::addPolicy ( Policy policy,
const std::string &  id = "" 
) [pure virtual]

Add policy to the evaluator.

Policy will be marked with id. The policy object is taken over by this instance and will be destroyed in destructor.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( Request request) [pure virtual]

Evaluates the request by using a Request object.

Evaluation is done till at least one of policies is satisfied.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

virtual Response* ArcSec::Evaluator::evaluate ( const Source request) [pure virtual]

Evaluates the request by using a specified source.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( Request request,
const Source policy 
) [pure virtual]

Evaluate the specified request against the policy from specified source.

In some implementations all of the existing policies inside the evaluator may be destroyed by this method.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( const Source request,
const Source policy 
) [pure virtual]

Evaluate the request from specified source against the policy from specified source.

In some implementations all of the existing policie inside the evaluator may be destroyed by this method.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( Request request,
Policy policyobj 
) [pure virtual]

Evaluate the specified request against the specified policy.

In some implementations all of the existing policy inside the evaluator may be destroyed by this method.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( const Source request,
Policy policyobj 
) [pure virtual]

Evaluate the request from specified source against the specified policy.

In some implementations all of the existing policie inside the evaluator may be destroyed by this method.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual Response* ArcSec::Evaluator::evaluate ( EvaluationCtx ctx) [protected, pure virtual]

Evaluate the request by using the EvaluationCtx object (which includes the information about request).

The ctx is destroyed inside this method (why?!?!?).

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual AlgFactory* ArcSec::Evaluator::getAlgFactory ( ) [pure virtual]

Get the AlgFactory object.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

Get the AttributeFactory object.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

virtual FnFactory* ArcSec::Evaluator::getFnFactory ( ) [pure virtual]

Get the FnFactory object.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

virtual const char* ArcSec::Evaluator::getName ( void  ) const [pure virtual]

Get the name of this evaluator.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual void ArcSec::Evaluator::parsecfg ( Arc::XMLNode cfg) [private, pure virtual]

Parse the configuration, and dynamically create PolicyStore, AttributeFactory, FnFactory and AlgFactoryy.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

virtual void ArcSec::Evaluator::setCombiningAlg ( EvaluatorCombiningAlg  alg) [pure virtual]

Specifies one of simple combining algorithms.

In case of multiple policies their results will be combined using this algorithm.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.

Here is the caller graph for this function:

virtual void ArcSec::Evaluator::setCombiningAlg ( CombiningAlg alg = NULL) [pure virtual]

Specifies loadable combining algorithms.

In case of multiple policies their results will be combined using this algorithm. To switch to simple algorithm specify NULL argument.

Implemented in ArcSec::ArcEvaluator, ArcSec::XACMLEvaluator, and ArcSec::GACLEvaluator.


Member Data Documentation

Reimplemented in ArcSec::ArcEvaluator, ArcSec::GACLEvaluator, and ArcSec::XACMLEvaluator.

Definition at line 35 of file Evaluator.h.


The documentation for this class was generated from the following files: