limal-ca-mgm
AuthorityInfoAccessExtension.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: AuthorityInfoAccessExtension.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_INFO_ACCESS_EXTENSION_HPP
23 #define LIMAL_CA_MGM_AUTHORITY_INFO_ACCESS_EXTENSION_HPP
24 
25 #include <limal/ca-mgm/config.h>
29 #include <blocxx/COWIntrusiveReference.hpp>
30 
31 namespace LIMAL_NAMESPACE {
32 
33 namespace CA_MGM_NAMESPACE {
34 
35  class CA;
36  class CAConfig;
37  class AuthorityInformationImpl;
38  class AuthorityInfoAccessExtImpl;
39 
41 
42  public:
47 
62  AuthorityInformation(const String &accessOID,
63  const LiteralValue& location);
64 
69 
74 
75 #ifndef SWIG
76 
78  operator=(const AuthorityInformation& ai);
79 
80 #endif
81 
89  void
90  setAuthorityInformation(const String &accessOID,
91  const LiteralValue& location);
92 
96  String
97  getAccessOID() const;
98 
103  getLocation() const;
104 
110  bool
111  valid() const;
112 
120  blocxx::Array<String>
121  verify() const;
122 
126  blocxx::Array<String>
127  dump() const;
128 
129 #ifndef SWIG
130 
131  friend bool
133 
134  friend bool
135  operator<(const AuthorityInformation &l, const AuthorityInformation &r);
136 
137 #endif
138 
139  private:
140  blocxx::COWIntrusiveReference<AuthorityInformationImpl> m_impl;
141 
142  };
143 
162  public:
163 
168 
170 
178  AuthorityInfoAccessExt(CAConfig* caConfig, Type type);
179 
180  virtual ~AuthorityInfoAccessExt();
181 
182 #ifndef SWIG
183 
185  operator=(const AuthorityInfoAccessExt& extension);
186 
187 #endif
188 
192  void
193  setAuthorityInformation(const blocxx::List<AuthorityInformation>& infolist);
194 
198  blocxx::List<AuthorityInformation>
199  getAuthorityInformation() const;
200 
207  virtual void
208  commit2Config(CA& ca, Type type) const;
209 
215  virtual bool
216  valid() const;
217 
225  virtual blocxx::StringArray
226  verify() const;
227 
231  virtual blocxx::StringArray
232  dump() const;
233 
234  private:
235  blocxx::COWIntrusiveReference<AuthorityInfoAccessExtImpl> m_impl;
236 
237  };
238 
239 }
240 }
241 
242 #endif // LIMAL_CA_MGM_AUTHORITY_INFO_ACCESS_EXTENSION_HPP