limal-ca-mgm
AuthorityKeyIdentifierGenerateExtension.hpp
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | |
3 | _ _ _ _ __ _ |
4 | | | | | | \_/ | / \ | | |
5 | | | | | | |_| | / /\ \ | | |
6 | | |__ | | | | | | / ____ \ | |__ |
7 | |____||_| |_| |_|/ / \ \|____| |
8 | |
9 | ca-mgm library |
10 | |
11 | (C) SUSE Linux Products GmbH |
12 \----------------------------------------------------------------------/
13 
14  File: AuthorityKeyIdentifierGenerateExtension.hpp
15 
16  Author: <Michael Calmer> <mc@suse.de>
17  Maintainer: <Michael Calmer> <mc@suse.de>
18 
19  Purpose:
20 
21 /-*/
22 #ifndef LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_GENERATE_EXTENSION_HPP
23 #define LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_GENERATE_EXTENSION_HPP
24 
25 #include <limal/ca-mgm/config.h>
28 #include <blocxx/COWIntrusiveReference.hpp>
29 
30 namespace LIMAL_NAMESPACE {
31 
32 namespace CA_MGM_NAMESPACE {
33 
34  class CA;
35  class CAConfig;
36  class AuthorityKeyIdentifierGenerateExtImpl;
37 
45  public:
46 
47  enum KeyID {
50  KeyID_always
51  };
52 
53  enum Issuer {
56  Issuer_always
57  };
58 
61 
65  AuthorityKeyIdentifierGenerateExt(KeyID kid, Issuer iss);
68 
69 #ifndef SWIG
70 
72  operator=(const AuthorityKeyIdentifierGenerateExt& extension);
73 
74 #endif
75 
79  void
80  setKeyID(KeyID kid);
81 
85  KeyID
86  getKeyID() const;
87 
91  void
92  setIssuer(Issuer iss);
93 
97  Issuer
98  getIssuer() const;
99 
106  virtual void
107  commit2Config(CA& ca, Type type) const;
108 
114  virtual bool
115  valid() const;
116 
124  virtual blocxx::StringArray
125  verify() const;
126 
130  virtual blocxx::StringArray
131  dump() const;
132 
133  private:
134  blocxx::COWIntrusiveReference<AuthorityKeyIdentifierGenerateExtImpl> m_impl;
135 
136  };
137 
138 }
139 }
140 
141 #endif // LIMAL_CA_MGM_AUTHORITY_KEY_IDENTIFIER_GENERATE_EXTENSION_HPP