All Classes Files Functions Variables Pages
TrafficStatistics.idl
Go to the documentation of this file.
1 /**
2  * @file TrafficStatistics.idl
3  * @brief Traffic and Bandwidth rules Statistics API
4  * @version 1
5  */
6 
7 #import <kerio/web/idl/SharedStructures.idl>
8 #import <kerio/web/idl/SystemHealth.idl>
9 #import <Interfaces.idl>
10 #import <common.idl>
11 
12 module webadmin {
13 
14 enum TrafficStatisticsType {
15  TrafficStatisticsInterface,
16  TrafficStatisticsTrafficRule,
17  TrafficStatisticsBandwidthRule
18 };
19 
21  kerio::web::KId id;
22  string name;
23  TrafficStatisticsType type;
24  kerio::web::KId componentId; /**< reference id of entity, that is displayed on chart */
25  InterfaceType interfaceType; /**< @see InterfaceManager */
26  DataStatistic data;
27 };
28 
29 typedef sequence<TrafficStatistic> TrafficStatisticList;
30 
31 interface TrafficStatistics {
32 
33  /**
34  * Returns Rule Statistics data
35  *
36  * @param list - output data
37  * @param totalItems - all data count
38  * @param query - filter/sort query
39  * @param refresh - true in case, that data snapshot have to be refreshed
40  * @throws kerio::web::ApiException \n
41  * -32001 Session expired. - "The user is not logged in." \n
42  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
43  */
44  void get(out TrafficStatisticList list, out long totalItems, in kerio::web::SearchQuery query, in boolean refresh);
45 
46  /**
47  * Deletes rule traffic counters
48  *
49  * @param ids - Ids of statistics items to be removed.
50  * @throws kerio::web::ApiException \n
51  * -32001 Session expired. - "The user is not logged in." \n
52  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
53  */
54  void remove(in kerio::web::KIdList ids);
55 
56  /**
57  * Returns throughput Histogram for specified rule or interface
58  *
59  * @param hist - output data
60  * @param type - granularity (two hours or one day)
61  * @param id - rule or interface id returned in item.id member by get
62  * @throws kerio::web::ApiException \n
63  * -32001 Session expired. - "The user is not logged in." \n
64  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
65  */
66  void getHistogram(out Histogram hist, in kerio::web::HistogramType type, in kerio::web::KId id);
67 
68  /**
69  * Returns throughput Histogram for specified rule or interface
70  *
71  * @param hist - output data
72  * @param sampleTime - Returns first time, that is not included in returned data (pass it to the same method again as a lastSampleTime to obtain only new data since last request)
73  * @param startSampleTime - Specifies starting time for returned d
74  * @param type - granularity
75  * @param id - rule or interface id returned in item.id member by get
76  * @throws kerio::web::ApiException \n
77  * -32001 Session expired. - "The user is not logged in." \n
78  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
79  */
80  void getHistogramInc(out Histogram hist, out kerio::web::DateTimeStamp sampleTime, in kerio::web::HistogramIntervalType type, in kerio::web::KId id, in kerio::web::DateTimeStamp startSampleTime);
81 };
82 
83 };//webadmin
kerio::web::KId componentId
Definition: TrafficStatistics.idl:24
Common Kerio Control structures, enums and types.
Definition: SharedStructures.idl:139
Definition: common.idl:93
Definition: common.idl:41
API for network interfaces administration.
InterfaceType interfaceType
Definition: TrafficStatistics.idl:25
Definition: Accounting.idl:11
Definition: TrafficStatistics.idl:31
Definition: TrafficStatistics.idl:20