All Classes Files Functions Variables Pages
common.idl
Go to the documentation of this file.
1 /**
2  * @file common.idl
3  * @brief Common Kerio Control structures, enums and types
4  */
5 
6 #import <kerio/web/idl/SharedStructures.idl>
7 
8 module webadmin {
9 
11  boolean enabled;
12  kerio::web::StringList value;
13 };
14 
17 
19  string userName;
20 
21  /** it should never be filled by get() method and transferred to the client */
22  string password;
23 
24  /** if true (user has changed the password), set() method write password to configuration, otherwise let it untouched */
25  boolean passwordChanged;
26 };
27 
28 struct IdReference {
29  kerio::web::KId id;
30  string name; /** read only */
31  boolean invalid; /** read only, intergrity error */
32 };
33 
34 typedef sequence<IdReference> IdReferenceList;
35 
37  boolean enabled;
38  IdReference value;
39 };
40 
41 struct DataStatistic {
42  double today;
43  double todayIn;
44  double todayOut;
45  double week;
46  double weekIn;
47  double weekOut;
48  double month;
49  double monthIn;
50  double monthOut;
51  double total;
52  double totalIn;
53  double totalOut;
54 };
55 
56 struct TimeHMS {
57  long hour;
58  long min;
59  long sec;
60 };
61 
63  kerio::web::Date date;
64  TimeHMS time;
65 };
66 
67 struct TimeSpan {
68  boolean isValid; // false - time span cannot be computed (no update yet, update is in the future)
69  long days;
70  long hours;
71  long minutes;
72 };
73 
74 enum RuleAction {
75  Allow,
76  Deny,
77  Drop,
78  NotSet
79 };
80 
81 enum VpnType {
82  VpnKerio,
83  VpnIpsec
84 };
85 
86 struct HistogramData {
87  double inbound; /**< in Units per second */
88  double outbound; /**< in Units per second */
89 };
90 
91 typedef sequence<HistogramData> HistogramDataList;
92 
93 struct Histogram {
94  kerio::web::ByteUnits units;
95  double averageIn; /**< in Units per second */
96  double averageOut; /**< in Units per second */
97  double maxIn; /**< in Units per second */
98  double maxOut; /**< in Units per second */
99  HistogramDataList data; /**< in Units per second, samples sorted from NOW to PAST, 0s on end are discarted */
100 };
101 
102 enum RuleConditionType {
103  RuleAny,
104  RuleSelectedEntities,
105  RuleInvalidCondition ///< nothing
106 };
107 
108 typedef string Ip6Address;
109 typedef sequence<Ip6Address> Ip6AddressList;
110 
111 struct Collision {
112  IdReference rule;
113  IdReference overlappedRule;
114 };
115 
116 struct Password {
117  string value;
118  boolean isSet; //< engine tells to WA, if value is not empty in config.
119 };
120 
121 typedef sequence<Collision> CollisionList;
122 
123 
125  string name;
126  string pattern;
127 };
128 
129 typedef sequence<FilenameGroup> FilenameGroupList;
130 
131 interface FilenameGroups {
132  /**
133  * Returns the list of filename groups
134  * @param groups - list of filename groups
135  * @throws kerio::web::ApiException \n
136  * -32001 Session expired. - "The user is not logged in." \n
137  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
138  */
139  void get(out FilenameGroupList groups);
140 
141 };
142 
143 }; //webadmin
Definition: common.idl:86
double outbound
Definition: common.idl:88
double inbound
Definition: common.idl:87
string password
Definition: common.idl:22
Definition: common.idl:62
Definition: common.idl:67
boolean invalid
Definition: common.idl:31
Definition: common.idl:131
Definition: common.idl:93
Definition: common.idl:28
Definition: common.idl:124
Definition: common.idl:41
HistogramDataList data
Definition: common.idl:99
Definition: common.idl:18
Definition: common.idl:116
Definition: common.idl:56
boolean passwordChanged
Definition: common.idl:25
Definition: common.idl:36
Definition: common.idl:10
double averageIn
Definition: common.idl:95
double maxOut
Definition: common.idl:98
Definition: common.idl:111
Definition: SharedStructures.idl:279
double averageOut
Definition: common.idl:96
double maxIn
Definition: common.idl:97
Definition: Accounting.idl:11
Definition: SharedStructures.idl:289