1 // +------------------------------------------------------------------+ 2 // | ____ _ _ __ __ _ __ | 3 // | / ___| |__ ___ ___| | __ | \/ | |/ / | 4 // | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | 5 // | | |___| | | | __/ (__| < | | | | . \ | 6 // | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | 7 // | | 8 // | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | 9 // +------------------------------------------------------------------+ 10 // 11 // This file is part of Check_MK. 12 // The official homepage is at http://mathias-kettner.de/check_mk. 13 // 14 // check_mk is free software; you can redistribute it and/or modify it 15 // under the terms of the GNU General Public License as published by 16 // the Free Software Foundation in version 2. check_mk is distributed 17 // in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- 18 // out even the implied warranty of MERCHANTABILITY or FITNESS FOR A 19 // PARTICULAR PURPOSE. See the GNU General Public License for more de- 20 // ails. You should have received a copy of the GNU General Public 21 // License along with GNU Make; see the file COPYING. If not, write 22 // to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 23 // Boston, MA 02110-1301 USA. 24 25 #ifndef OffsetTimeColumn_h 26 #define OffsetTimeColumn_h 27 28 #include "config.h" // IWYU pragma: keep 29 #include <string> 30 #include "Column.h" 31 #include "OffsetIntColumn.h" 32 class Filter; 33 class Query; 34 35 /* We are using IntColumn in order to implement a column 36 of type time. This does almost the same as the time column, 37 but applies a timezone offset stored in the Query. */ 38 39 class OffsetTimeColumn : public OffsetIntColumn { 40 public: 41 OffsetTimeColumn(std::string name, std::string description, int offset, 42 int indirect_offset = -1, int extra_offset = -1) OffsetIntColumn(name,description,offset,indirect_offset,extra_offset)43 : OffsetIntColumn(name, description, offset, indirect_offset, 44 extra_offset) {} type()45 int type() override { return COLTYPE_TIME; } 46 void output(void *data, Query *query) override; 47 Filter *createFilter(int operator_id, char *value) override; 48 }; 49 50 #endif // OffsetTimeColumn_h 51