22 #ifndef LIMAL_CA_MGM_EXTENSION_BASE_HPP
23 #define LIMAL_CA_MGM_EXTENSION_BASE_HPP
27 #include <blocxx/COWIntrusiveReference.hpp>
29 namespace LIMAL_NAMESPACE {
31 namespace CA_MGM_NAMESPACE {
34 class ExtensionBaseImpl;
39 ExtensionBase(
bool extPresent =
false,
bool extCritical =
false);
51 void setPresent(
bool extPresent);
52 void setCritical(
bool extCritical);
54 bool isCritical()
const;
55 bool isPresent()
const;
57 virtual void commit2Config(
CA& ca,
Type type)
const = 0;
59 virtual bool valid()
const =0;
60 virtual blocxx::StringArray verify()
const =0;
62 virtual blocxx::StringArray dump()
const;
65 blocxx::COWIntrusiveReference<ExtensionBaseImpl>
m_impl;
71 #endif // LIMAL_CA_MGM_EXTENSION_BASE_HPP