Back to index

nordugrid-arc-nox  1.1.0~rc6
MessageAuth.h
Go to the documentation of this file.
00001 #ifndef __ARC_MESSAGEAUTH_H__
00002 #define __ARC_MESSAGEAUTH_H__
00003 
00004 #include <string>
00005 #include <map>
00006 
00007 #include <arc/message/SecAttr.h>
00008 
00009 namespace Arc {
00010 
00012 
00013 class MessageAuth {
00014   private:
00015     std::map<std::string,SecAttr*> attrs_;
00016     bool attrs_created_;
00017     MessageAuth(const MessageAuth&) { };
00018   public:
00019     MessageAuth(void);
00020     ~MessageAuth(void);
00022     void set(const std::string& key, SecAttr* value);
00024     void remove(const std::string& key);
00026     SecAttr* get(const std::string& key);
00028     SecAttr* operator[](const std::string& key) { return get(key); };
00030 
00035     bool Export(SecAttrFormat format,XMLNode &val) const;
00037 
00042     MessageAuth* Filter(const std::list<std::string>& selected_keys,const std::list<std::string>& rejected_keys);
00043 };
00044 
00045 }
00046 
00047 #endif
00048