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 */
41