|
limal-ca-mgm
|
00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | _ _ _ _ __ _ | 00004 | | | | | | \_/ | / \ | | | 00005 | | | | | | |_| | / /\ \ | | | 00006 | | |__ | | | | | | / ____ \ | |__ | 00007 | |____||_| |_| |_|/ / \ \|____| | 00008 | | 00009 | ca-mgm library | 00010 | | 00011 | (C) SUSE Linux Products GmbH | 00012 \----------------------------------------------------------------------/ 00013 00014 File: BasicConstraintsExtension.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_BASIC_CONSTRAINTS_EXTENSION_HPP 00023 #define LIMAL_CA_MGM_BASIC_CONSTRAINTS_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 CA; 00035 class CAConfig; 00036 class BasicConstraintsExtImpl; 00037 00044 class BasicConstraintsExt : public ExtensionBase 00045 { 00046 public: 00047 BasicConstraintsExt(); 00048 BasicConstraintsExt(CAConfig* caConfig, Type type); 00049 BasicConstraintsExt(bool isCa, blocxx::Int32 pathLength=-1); 00050 BasicConstraintsExt(const BasicConstraintsExt& extension); 00051 virtual ~BasicConstraintsExt(); 00052 00053 #ifndef SWIG 00054 00055 BasicConstraintsExt& operator=(const BasicConstraintsExt& extension); 00056 00057 #endif 00058 00066 void setBasicConstraints(bool isCa, blocxx::Int32 pathLength=-1); 00067 00071 bool isCA() const; 00072 00076 blocxx::Int32 getPathLength() const; 00077 00084 virtual void commit2Config(CA& ca, Type type) const; 00085 00091 virtual bool valid() const; 00092 00100 virtual blocxx::StringArray verify() const; 00101 00105 virtual blocxx::StringArray dump() const; 00106 00107 private: 00108 blocxx::COWIntrusiveReference<BasicConstraintsExtImpl> m_impl; 00109 00110 }; 00111 00112 } 00113 } 00114 00115 #endif // LIMAL_CA_MGM_BASIC_CONSTRAINTS_EXTENSION_HPP
1.7.5.1