Back to index

nordugrid-arc-nox  1.1.0~rc6
XACMLPDP.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_XACMLPDP_H__
00002 #define __ARC_SEC_XACMLPDP_H__
00003 
00004 #include <stdlib.h>
00005 
00006 //#include <arc/loader/ClassLoader.h>
00007 #include <arc/ArcConfig.h>
00008 #include <arc/security/ArcPDP/Evaluator.h>
00009 #include <arc/security/PDP.h>
00010 
00011 namespace ArcSec {
00012 
00014 class XACMLPDP : public PDP {
00015  public:
00016   static Arc::Plugin* get_xacml_pdp(Arc::PluginArgument* arg);
00017   XACMLPDP(Arc::Config* cfg);
00018   virtual ~XACMLPDP();
00019 
00020   virtual bool isPermitted(Arc::Message *msg) const;
00021  private:
00022   // Evaluator *eval;
00023   // Arc::ClassLoader* classloader;
00024   std::list<std::string> select_attrs;
00025   std::list<std::string> reject_attrs;
00026   std::list<std::string> policy_locations;
00027   Arc::XMLNodeContainer policies;
00028   std::string policy_combining_alg;
00029  protected:
00030   static Arc::Logger logger;
00031 };
00032 
00033 } // namespace ArcSec
00034 
00035 #endif /* __ARC_SEC_XACMLPDP_H__ */
00036