00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef LIMAL_CA_MGM_SUBJECT_ALTERNATIVE_NAME_EXTENSION_HPP
00023 #define LIMAL_CA_MGM_SUBJECT_ALTERNATIVE_NAME_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 <limal/ca-mgm/LiteralValues.hpp>
00029 #include <blocxx/COWIntrusiveReference.hpp>
00030
00031 namespace LIMAL_NAMESPACE {
00032
00033 namespace CA_MGM_NAMESPACE {
00034
00035 class CA;
00036 class CAConfig;
00037 class SubjectAlternativeNameExtImpl;
00038
00039 class SubjectAlternativeNameExt : public ExtensionBase {
00040 public:
00041 SubjectAlternativeNameExt();
00042
00043 SubjectAlternativeNameExt(CAConfig* caConfig, Type type);
00044
00045 SubjectAlternativeNameExt(bool copyEmail,
00046 const blocxx::List<LiteralValue> &alternativeNameList = blocxx::List<LiteralValue>());
00047
00048 SubjectAlternativeNameExt(const SubjectAlternativeNameExt& extension);
00049
00050 virtual ~SubjectAlternativeNameExt();
00051
00052 #ifndef SWIG
00053
00054 SubjectAlternativeNameExt&
00055 operator=(const SubjectAlternativeNameExt& extension);
00056
00057 #endif
00058
00059 void
00060 setCopyEmail(bool copyEmail);
00061
00062 void
00063 setAlternativeNameList(const blocxx::List<LiteralValue> &alternativeNameList = blocxx::List<LiteralValue>());
00064
00065 bool
00066 getCopyEmail() const;
00067
00068 blocxx::List<LiteralValue>
00069 getAlternativeNameList() const;
00070
00071 virtual void
00072 commit2Config(CA& ca, Type type) const;
00073
00074 virtual bool
00075 valid() const;
00076
00077 virtual blocxx::StringArray
00078 verify() const;
00079
00080 virtual blocxx::StringArray
00081 dump() const;
00082
00083 private:
00084 blocxx::COWIntrusiveReference<SubjectAlternativeNameExtImpl> m_impl;
00085 };
00086
00087 }
00088 }
00089
00090 #endif // LIMAL_CA_MGM_SUBJECT_ALTERNATIVE_NAME_EXTENSION_HPP