Back to index

nordugrid-arc-nox  1.1.0~rc6
EvaluatorLoader.h
Go to the documentation of this file.
00001 #ifndef __ARCSEC_EVALUATORLOADER_H__
00002 #define __ARCSEC_EVALUATORLOADER_H__
00003 
00004 #include <list>
00005 
00006 #include <arc/Logger.h>
00007 #include <arc/security/ClassLoader.h>
00008 #include <arc/XMLNode.h>
00009 #include <arc/ArcConfig.h>
00010 #include <arc/security/ArcPDP/Evaluator.h>
00011 #include <arc/security/ArcPDP/Request.h>
00012 #include <arc/security/ArcPDP/policy/Policy.h>
00013 #include <arc/security/ArcPDP/Source.h>
00014 
00015 namespace ArcSec {
00017 
00019 class EvaluatorLoader {
00020  public:
00021   EvaluatorLoader();
00023   Evaluator* getEvaluator(const std::string& classname);
00025   Evaluator* getEvaluator(const Policy* policy);
00027   Evaluator* getEvaluator(const Request* request);
00029   Request* getRequest(const std::string& classname, const Source& requestsource);
00031   Request* getRequest(const Source& requestsource);
00033   Policy* getPolicy(const std::string& classname, const Source& policysource);
00035   Policy* getPolicy(const Source& policysource);
00036  protected:
00037   static Arc::Logger logger;
00038  private:
00041   std::list<Arc::XMLNode> class_config_list_;
00042 };
00043 
00044 } //namespace ArcSec
00045 
00046 #endif /* __ARCSEC_EVALUATORLOADER_H__ */
00047