Back to index

nordugrid-arc-nox  1.1.0~rc6
AlgFactory.h
Go to the documentation of this file.
00001 #ifndef __ARC_SEC_ALGFACTORY_H__
00002 #define __ARC_SEC_ALGFACTORY_H__
00003 
00004 #include <arc/security/ClassLoader.h>
00005 
00006 #include <map>
00007 #include "CombiningAlg.h"
00008 
00009 namespace ArcSec {
00010 
00011 typedef std::map<std::string, CombiningAlg*> AlgMap;
00012 
00014 
00018 class AlgFactory : public Arc::LoadableClass {
00019 public:
00020   AlgFactory() {};
00021   virtual ~AlgFactory() {};
00022 
00023 public:
00028   virtual CombiningAlg* createAlg(const std::string& type) = 0;
00029 
00030 protected:
00031   AlgMap algmap;
00032 };
00033 
00034 } // namespace ArcSec
00035 
00036 #endif /* __ARC_SEC_ALGFACTORY_H__ */
00037