limal-ca-mgm
AuthorityKeyIdentifierExtension.hpp
Go to the documentation of this file.
00001 /*---------------------------------------------------------------------\
00002 |                                                                      |
00003 |                     _     _   _   _     __     _                     |
00004 |                    | |   | | | \_/ |   /  \   | |                    |
00005 |                    | |   | | | |_| |  / /\ \  | |                    |
00006 |                    | |__ | | | | | | / ____ \ | |__                  |
00007 |                    |____||_| |_| |_|/ /    \ \|____|                 |
00008 |                                                                      |
00009 |                             ca-mgm library                           |
00010 |                                                                      |
00011 |                                         (C) SUSE Linux Products GmbH |
00012 \----------------------------------------------------------------------/
00013 
00014   File:       AuthorityKeyIdentifierExtension.hpp
00015 
00016   Author:     <Michael Calmer>     <mc@suse.de>
00017   Maintainer: <Michael Calmer>     <mc@suse.de>
00018 
00019   Purpose:
00020 
00021 /-*/
00022 #ifndef    LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_EXTENSION_HPP
00023 #define    LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_EXTENSION_HPP
00024 
00025 #include  <limal/ca-mgm/config.h>
00026 #include  <limal/ca-mgm/CommonData.hpp>
00027 #include  <limal/ca-mgm/ExtensionBase.hpp>
00028 #include  <blocxx/COWIntrusiveReference.hpp>
00029 
00030 namespace LIMAL_NAMESPACE {
00031 
00032 namespace CA_MGM_NAMESPACE {
00033 
00034         class AuthorityKeyIdentifierExtImpl;
00035         
00036         class AuthorityKeyIdentifierExt : public ExtensionBase {
00037         public:
00038 
00039                 AuthorityKeyIdentifierExt();
00040                 AuthorityKeyIdentifierExt(const AuthorityKeyIdentifierExt& extension);
00041                 virtual ~AuthorityKeyIdentifierExt();
00042 
00043 #ifndef SWIG
00044 
00045                 AuthorityKeyIdentifierExt&
00046                 operator=(const AuthorityKeyIdentifierExt& extension);
00047 
00048 #endif
00049                 
00053                 String
00054                 getKeyID() const;
00055 
00059                 String
00060                 getDirName() const;
00061 
00065                 String
00066                 getSerial() const;
00067 
00073                 virtual bool
00074                 valid() const;  
00075 
00083                 virtual blocxx::StringArray
00084                 verify() const; 
00085         
00089                 virtual blocxx::StringArray
00090                 dump() const;
00091 
00092         protected:
00093                 blocxx::COWIntrusiveReference<AuthorityKeyIdentifierExtImpl> m_impl;
00094                 
00095                 void
00096                 setKeyID(const String& kid);
00097                 
00098                 void
00099                 setDirName(const String& dirName);
00100                 
00101                 void
00102                 setSerial(const String& serial);
00103 
00104         private:
00105                 virtual void commit2Config(CA& ca, Type type) const;
00106         };
00107 
00108 }
00109 }
00110 
00111 #endif // LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_EXTENSION_HPP