libcamgm
ExtensionBase.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: ExtensionBase.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_EXTENSION_BASE_HPP
23 #define CA_MGM_EXTENSION_BASE_HPP
24 
25 #include <ca-mgm/config.h>
26 #include <ca-mgm/CommonData.hpp>
27 #include <ca-mgm/PtrTypes.hpp>
28 
29 namespace CA_MGM_NAMESPACE {
30 
31  class CA;
32  class ExtensionBaseImpl;
33 
34  class ExtensionBase {
35 
36  public:
37  ExtensionBase(bool extPresent = false, bool extCritical = false);
38 
39  ExtensionBase(const ExtensionBase& extension);
40 
41  virtual ~ExtensionBase();
42 
43 #ifndef SWIG
44 
45  ExtensionBase& operator=(const ExtensionBase& extension);
46 
47 #endif
48 
49  void setPresent(bool extPresent);
50  void setCritical(bool extCritical);
51 
52  bool isCritical() const;
53  bool isPresent() const;
54 
55  virtual void commit2Config(CA& ca, Type type) const = 0;
56 
57  virtual bool valid() const =0;
58  virtual std::vector<std::string> verify() const =0;
59 
60  virtual std::vector<std::string> dump() const;
61 
62  private:
64  };
65 
66 }
67 
68 #endif // CA_MGM_EXTENSION_BASE_HPP
Definition: ExtensionBase.hpp:34
Managing a CA repository.
Definition: CA.hpp:54
ca_mgm::RWCOW_pointer< ExtensionBaseImpl > m_impl
Definition: ExtensionBase.hpp:63
Type
Definition: CommonData.hpp:39