diff options
Diffstat (limited to 'lib/db_ido/servicedbobject.hpp')
-rw-r--r-- | lib/db_ido/servicedbobject.hpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/db_ido/servicedbobject.hpp b/lib/db_ido/servicedbobject.hpp new file mode 100644 index 0000000..19824be --- /dev/null +++ b/lib/db_ido/servicedbobject.hpp @@ -0,0 +1,41 @@ +/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ + +#ifndef SERVICEDBOBJECT_H +#define SERVICEDBOBJECT_H + +#include "db_ido/dbobject.hpp" +#include "base/configobject.hpp" +#include "icinga/service.hpp" + +namespace icinga +{ + +/** + * A Service database object. + * + * @ingroup ido + */ +class ServiceDbObject final : public DbObject +{ +public: + DECLARE_PTR_TYPEDEFS(ServiceDbObject); + + ServiceDbObject(const DbType::Ptr& type, const String& name1, const String& name2); + + static void StaticInitialize(); + + Dictionary::Ptr GetConfigFields() const override; + Dictionary::Ptr GetStatusFields() const override; + + void OnConfigUpdateHeavy() override; + void OnConfigUpdateLight() override; + + String CalculateConfigHash(const Dictionary::Ptr& configFields) const override; + +private: + void DoCommonConfigUpdate(); +}; + +} + +#endif /* SERVICEDBOBJECT_H */ |