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