All Classes Files Functions Variables Pages
VpnClients.idl
Go to the documentation of this file.
1 /**
2  * @file VpnClients.idl
3  * @brief API for VPN Clients page
4  * @version 2
5  */
6 
7 #import <kerio/web/idl/SharedStructures.idl>
8 #import <common.idl>
9 
10 module webadmin {
11 
12 enum VpnClientState {
13  VpnClientConnecting,
14  VpnClientAuthenticating,
15  VpnClientAuthenticated,
16  VpnClientConnected,
17  VpnClientOther
18 };
19 
20 enum OsCodeType {
21  OsWindows,
22  OsLinux,
23  OsMacos,
24  OsUnknown
25 };
26 
27 struct VpnClientInfo {
28  kerio::web::KId id;
29  VpnType type;
30  string userName;
31  string hostName;
32  kerio::web::IpAddress ip;
33  kerio::web::IpAddress clientIp;
34  VpnClientState state;
35  long loginTime; /**< in seconds */
36  string version;
37  OsCodeType osCode;
38  string osName;
39 };
40 
41 typedef sequence<VpnClientInfo> VpnClientList;
42 
43 interface VpnClients {
44 
45  /**
46  * Returns VPN Clients data
47  *
48  * @param list - output data
49  * @param totalItems - all data count
50  * @param query - filter/sort query
51  * @param refresh - true in case, that data snapshot have to be refreshed
52  * @throws kerio::web::ApiException \n
53  * -32001 Session expired. - "The user is not logged in." \n
54  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
55  */
56  void get(out VpnClientList list, out long totalItems, in kerio::web::SearchQuery query, in boolean refresh);
57 
58 
59  /**
60  * Disconnects clients specified in ids list
61  *
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 kill(in kerio::web::KIdList ids);
67 
68 };
69 
70 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: SharedStructures.idl:139
Definition: VpnClients.idl:27
Definition: VpnClients.idl:43
long loginTime
Definition: VpnClients.idl:35
Definition: Accounting.idl:11