Back to index

nordugrid-arc-nox  1.1.0~rc6
Functions
ArcEvaluationCtx.cpp File Reference
#include <arc/security/ArcPDP/attr/AttributeValue.h>
#include "ArcEvaluationCtx.h"

Go to the source code of this file.

Functions

static void add_tuple (std::list< RequestTuple * > &reqtuples, Subject *subject, Resource *resource, Action *action, Context *context)
static void add_contexts (std::list< RequestTuple * > &reqtuples, Subject *subject, Resource *resource, Action *action, CtxList &contexts)
static void add_actions (std::list< RequestTuple * > &reqtuples, Subject *subject, Resource *resource, ActList &actions, CtxList &contexts)
static void add_resources (std::list< RequestTuple * > &reqtuples, Subject *subject, ResList &resources, ActList &actions, CtxList &contexts)
static void add_subjects (std::list< RequestTuple * > &reqtuples, SubList &subjects, ResList &resources, ActList &actions, CtxList &contexts)

Function Documentation

static void add_actions ( std::list< RequestTuple * > &  reqtuples,
Subject subject,
Resource resource,
ActList actions,
CtxList contexts 
) [static]

Definition at line 214 of file ArcEvaluationCtx.cpp.

                                                                                                                                  {
  if(actions.empty()) {
    add_contexts(reqtuples,subject,resource,NULL,contexts);
    return;
  }
  ActList::iterator ait = actions.begin();
  for(;ait != actions.end();++ait) {
    add_contexts(reqtuples,subject,resource,&(*ait),contexts);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void add_contexts ( std::list< RequestTuple * > &  reqtuples,
Subject subject,
Resource resource,
Action action,
CtxList contexts 
) [static]

Definition at line 203 of file ArcEvaluationCtx.cpp.

                                                                                                                                 {
  if(contexts.empty()) {
    add_tuple(reqtuples,subject,resource,action,NULL);
    return;
  }
  CtxList::iterator cit = contexts.begin();
  for(;cit != contexts.end();++cit) {
    add_tuple(reqtuples,subject,resource,action,&(*cit));
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void add_resources ( std::list< RequestTuple * > &  reqtuples,
Subject subject,
ResList resources,
ActList actions,
CtxList contexts 
) [static]

Definition at line 225 of file ArcEvaluationCtx.cpp.

                                                                                                                                    {
  if(resources.empty()) {
    add_actions(reqtuples,subject,NULL,actions,contexts);
    return;
  }
  ResList::iterator rit = resources.begin();
  for(;rit != resources.end();++rit) {
    add_actions(reqtuples,subject,&(*rit),actions,contexts);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void add_subjects ( std::list< RequestTuple * > &  reqtuples,
SubList subjects,
ResList resources,
ActList actions,
CtxList contexts 
) [static]

Definition at line 236 of file ArcEvaluationCtx.cpp.

                                                                                                                                    {
  if(subjects.empty()) {
    add_resources(reqtuples,NULL,resources,actions,contexts);
    return;
  }
  SubList::iterator sit = subjects.begin();
  for(;sit != subjects.end();++sit) {
    add_resources(reqtuples,&(*sit),resources,actions,contexts);
  }
}

Here is the call graph for this function:

Here is the caller graph for this function:

static void add_tuple ( std::list< RequestTuple * > &  reqtuples,
Subject subject,
Resource resource,
Action action,
Context context 
) [static]

Definition at line 192 of file ArcEvaluationCtx.cpp.

                                                                                                                             {
  if(subject || resource || action || context) {
    ArcRequestTuple* reqtuple = new ArcRequestTuple;
    if(subject) reqtuple->sub = *subject;
    if(resource) reqtuple->res = *resource;
    if(action) reqtuple->act = *action;
    if(context) reqtuple->ctx = *context;
    reqtuples.push_back(reqtuple);
  };
}

Here is the caller graph for this function: