libcamgm
SubjectAlternativeNameExtension.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: SubjectAlternativeNameExtension.hpp
15 
16  Author: <Michael Calmer> <mc@suse.de>
17  Maintainer: <Michael Calmer> <mc@suse.de>
18 
19  Purpose:
20 
21 /-*/
22 #ifndef CA_MGM_SUBJECT_ALTERNATIVE_NAME_EXTENSION_HPP
23 #define CA_MGM_SUBJECT_ALTERNATIVE_NAME_EXTENSION_HPP
24 
25 #include <ca-mgm/config.h>
26 #include <ca-mgm/CommonData.hpp>
27 #include <ca-mgm/ExtensionBase.hpp>
28 #include <ca-mgm/LiteralValues.hpp>
29 #include <ca-mgm/PtrTypes.hpp>
30 
31 namespace CA_MGM_NAMESPACE {
32 
33  class CA;
34  class CAConfig;
35  class SubjectAlternativeNameExtImpl;
36 
38  public:
40 
41  SubjectAlternativeNameExt(CAConfig* caConfig, Type type);
42 
43  SubjectAlternativeNameExt(bool copyEmail,
44  const std::list<LiteralValue> &alternativeNameList = std::list<LiteralValue>());
45 
47 
48  virtual ~SubjectAlternativeNameExt();
49 
50 #ifndef SWIG
51 
53  operator=(const SubjectAlternativeNameExt& extension);
54 
55 #endif
56 
57  void
58  setCopyEmail(bool copyEmail);
59 
60  void
61  setAlternativeNameList(const std::list<LiteralValue> &alternativeNameList = std::list<LiteralValue>());
62 
63  bool
64  getCopyEmail() const;
65 
66  std::list<LiteralValue>
67  getAlternativeNameList() const;
68 
69  virtual void
70  commit2Config(CA& ca, Type type) const;
71 
72  virtual bool
73  valid() const;
74 
75  virtual std::vector<std::string>
76  verify() const;
77 
78  virtual std::vector<std::string>
79  dump() const;
80 
81  private:
83  };
84 
85 }
86 
87 #endif // CA_MGM_SUBJECT_ALTERNATIVE_NAME_EXTENSION_HPP
Definition: SubjectAlternativeNameExtension.hpp:37
Definition: ExtensionBase.hpp:34
Managing a CA repository.
Definition: CA.hpp:54
Definition: CAConfig.hpp:43
Type
Definition: CommonData.hpp:39
ca_mgm::RWCOW_pointer< SubjectAlternativeNameExtImpl > m_impl
Definition: SubjectAlternativeNameExtension.hpp:82