]> granicus.if.org Git - icinga2/blob - lib/db_ido/hostdbobject.hpp
Merge pull request #7124 from Icinga/bugfix/namespace-thread-safe
[icinga2] / lib / db_ido / hostdbobject.hpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #ifndef HOSTDBOBJECT_H
4 #define HOSTDBOBJECT_H
5
6 #include "db_ido/dbobject.hpp"
7 #include "base/configobject.hpp"
8
9 namespace icinga
10 {
11
12 /**
13  * A Host database object.
14  *
15  * @ingroup ido
16  */
17 class HostDbObject final : public DbObject
18 {
19 public:
20         DECLARE_PTR_TYPEDEFS(HostDbObject);
21
22         HostDbObject(const DbType::Ptr& type, const String& name1, const String& name2);
23
24         Dictionary::Ptr GetConfigFields() const override;
25         Dictionary::Ptr GetStatusFields() const override;
26
27         void OnConfigUpdateHeavy() override;
28         void OnConfigUpdateLight() override;
29
30         String CalculateConfigHash(const Dictionary::Ptr& configFields) const override;
31
32 private:
33         void DoCommonConfigUpdate();
34 };
35
36 }
37
38 #endif /* HOSTDBOBJECT_H */