]> granicus.if.org Git - icinga2/blob - lib/livestatus/zonestable.hpp
add some object locking to the Dump method (which could theoreticylly suffer from...
[icinga2] / lib / livestatus / zonestable.hpp
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #ifndef ZONESTABLE_H
4 #define ZONESTABLE_H
5
6 #include "livestatus/table.hpp"
7
8 using namespace icinga;
9
10 namespace icinga
11 {
12
13 /**
14  * @ingroup livestatus
15  */
16 class ZonesTable final : public Table
17 {
18 public:
19         DECLARE_PTR_TYPEDEFS(ZonesTable);
20
21         ZonesTable();
22
23         static void AddColumns(Table *table, const String& prefix = String(),
24                 const Column::ObjectAccessor& objectAccessor = Column::ObjectAccessor());
25
26         String GetName() const override;
27         String GetPrefix() const override;
28
29 protected:
30         void FetchRows(const AddRowFunction& addRowFn) override;
31
32         static Value NameAccessor(const Value& row);
33         static Value ParentAccessor(const Value& row);
34         static Value EndpointsAccessor(const Value& row);
35         static Value GlobalAccessor(const Value& row);
36 };
37
38 }
39
40 #endif /* ZONESTABLE_H */