#include "icinga/checkable.h" #include "icinga/host.h" #include "icinga/icingaapplication.h" #include "base/dynamicobject.h" namespace icinga { code {{{ class I2_ICINGA_API ServiceNameComposer : public NameComposer { public: virtual String MakeName(const String& shortName, const Dictionary::Ptr props) const; }; }}} class Service : Checkable < ServiceNameComposer { [config] String display_name { get {{{ if (m_DisplayName.IsEmpty()) return GetShortName(); else return m_DisplayName; }}} }; [config] String host_name; [enum] ServiceState "state" { get {{{ return GetStateRaw(); }}} }; [enum] ServiceState last_state { get {{{ return GetLastStateRaw(); }}} }; [enum] ServiceState last_hard_state { get {{{ return GetLastHardStateRaw(); }}} }; }; }