Interface for policy evaluation. Execute the policy evaluation, based on the request and policy. More...
#include <Evaluator.h>
Public Member Functions | |
virtual Response * | evaluate (Request *request)=0 |
virtual Response * | evaluate (const Source &request)=0 |
virtual Response * | evaluate (Request *request, const Source &policy)=0 |
virtual Response * | evaluate (const Source &request, const Source &policy)=0 |
virtual Response * | evaluate (Request *request, Policy *policyobj)=0 |
virtual Response * | evaluate (const Source &request, Policy *policyobj)=0 |
virtual AttributeFactory * | getAttrFactory ()=0 |
virtual FnFactory * | getFnFactory ()=0 |
virtual AlgFactory * | getAlgFactory ()=0 |
virtual void | addPolicy (const Source &policy, const std::string &id="")=0 |
virtual void | addPolicy (Policy *policy, const std::string &id="")=0 |
virtual void | setCombiningAlg (EvaluatorCombiningAlg alg)=0 |
virtual void | setCombiningAlg (CombiningAlg *alg=NULL)=0 |
virtual const char * | getName (void) const =0 |
Protected Member Functions | |
virtual Response * | evaluate (EvaluationCtx *ctx)=0 |
Interface for policy evaluation. Execute the policy evaluation, based on the request and policy.
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.
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.
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?!?!?).
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.
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.
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.
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.
Evaluates the request by using a specified source
Evaluates the request by using a Request object. Evaluation is done till at least one of policies is satisfied.
virtual AlgFactory* ArcSec::Evaluator::getAlgFactory | ( | ) | [pure virtual] |
Get the AlgFactory object
virtual AttributeFactory* ArcSec::Evaluator::getAttrFactory | ( | ) | [pure virtual] |
Get the AttributeFactory object
virtual const char* ArcSec::Evaluator::getName | ( | void | ) | const [pure virtual] |
Get the name of this evaluator
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.
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.