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