Back to index

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

XACMLCondition class to parse and operate XACML specific <Condition> node. More...

#include <XACMLCondition.h>

Collaboration diagram for ArcSec::XACMLCondition:
Collaboration graph

List of all members.

Public Member Functions

 XACMLCondition (Arc::XMLNode &node, EvaluatorContext *ctx)
 Constructor -.
virtual ~XACMLCondition ()
std::list< AttributeValue * > evaluate (EvaluationCtx *ctx)

Private Attributes

Arc::XMLNode condition_node
std::list< XACMLApply * > apply_list

Detailed Description

XACMLCondition class to parse and operate XACML specific <Condition> node.

Definition at line 19 of file XACMLCondition.h.

Constructor & Destructor Documentation

Constructor -.

Definition at line 18 of file XACMLCondition.cpp.

                                                                      : condition_node(node) {
  XMLNode cnd;
  std::string name;
  for(int i = 0;;i++ ) {
    cnd = node.Child(i);
    if(!cnd) break;
    name = cnd.Name();
    if(name == "Apply") {
      apply_list.push_back(new XACMLApply(cnd, ctx));

Here is the call graph for this function:

Definition at line 31 of file XACMLCondition.cpp.

  while(!(apply_list.empty())) {
    XACMLApply* apply = apply_list.back();
    delete apply;

Member Function Documentation

Definition at line 39 of file XACMLCondition.cpp.

  std::list<AttributeValue*> res_list;
  std::list<XACMLApply*>::iterator i;
  for(i = apply_list.begin(); i!= apply_list.end(); i++) {
    res_list = (*i)->evaluate(ctx);
    if(!res_list.empty()) break;
    //Suppose only one <Apply/> exists under <Condition/>
    //TODO: process the situation about more than one <Apply/> exist under <Condition/>
  return res_list;

Here is the caller graph for this function:

Member Data Documentation

Definition at line 28 of file XACMLCondition.h.

Definition at line 27 of file XACMLCondition.h.

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