]> granicus.if.org Git - icinga2/blob - lib/icinga/timeperiod.ti
Merge pull request #6727 from Icinga/feature/cluster-config-sync-stage
[icinga2] / lib / icinga / timeperiod.ti
1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
2
3 #include "icinga/customvarobject.hpp"
4 #include "base/function.hpp"
5
6 library icinga;
7
8 namespace icinga
9 {
10
11 class TimePeriod : CustomVarObject
12 {
13         [config] String display_name {
14                 get {{{
15                         if (m_DisplayName.IsEmpty())
16                                 return GetName();
17                         else
18                                 return m_DisplayName;
19                 }}}
20         };
21         [config] Dictionary::Ptr ranges;
22         [config, required] Function::Ptr update;
23         [config] bool prefer_includes {
24                 default {{{ return true; }}}
25         };
26         [config, required] array(name(TimePeriod)) excludes {
27                 default {{{ return new Array(); }}}
28         };
29         [config, required] array(name(TimePeriod)) includes {
30                 default {{{ return new Array(); }}}
31         };
32         [state, no_user_modify] Value valid_begin;
33         [state, no_user_modify] Value valid_end;
34         [state, no_user_modify] Array::Ptr segments;
35         [no_storage] bool is_inside {
36                 get;
37         };
38 };
39
40 validator TimePeriod {
41         Dictionary ranges {
42                 String "*";
43         };
44 };
45
46 }