All Classes Files Functions Variables Pages
SystemConfig.idl
Go to the documentation of this file.
1 /**
2  * @file SystemConfig.idl
3  * @brief System Configuration API
4  * @version 2
5  */
6 
7 #import <kerio/web/idl/SharedStructures.idl>
8 #import <common.idl>
9 
10 module webadmin {
11 
13  kerio::web::KId id;
14  string name;
15  long currentOffset; //< offset from GMT for currentTime
16  long winterOffset; //< offset from GMT for 1.1
17  long summerOffset; //< offset from GMT for 31.7
18 };
19 
20 typedef sequence<TimeZoneConfig> TimeZoneConfigList;
21 
23  string hostname; //< read-only
25  kerio::web::KId timeZoneId;
26 };
27 
28 enum NtpUpdatePhase {
29  NtpUpdateDisabled,
30  NtpUpdateOk,
31  NtpUpdateError,
32  NtpUpdateProgress
33 };
34 
36  NtpUpdatePhase phase;
37  string errorMessage; //< Error message in case of NtpUpdateError
38 };
39 
40 interface SystemConfig {
41 
42  /**
43  * @param config - Returns actual values for System configuration in WebAdmin
44  * @throws kerio::web::ApiException \n
45  * -32001 Session expired. - "The user is not logged in." \n
46  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
47  */
48  void get(out SystemConfiguration config);
49 
50  /**
51  * Stores System configuration
52  * @param config - contains system setting to be stored.
53  * @throws kerio::web::ApiException \n
54  * -32001 Session expired. - "The user is not logged in." \n
55  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
56  */
57  void set(in SystemConfiguration config);
58 
59  /**
60  * @param timeZones - Returns the list of known timezones.
61  * @param currentDate - Client actual time to serve as an input for timezone and DST detection.
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 getTimeZones(out TimeZoneConfigList timeZones, in kerio::web::Date currentDate);
67 
68  /**
69  * @param config - Returns Date and Time for System configuration.
70  * @throws kerio::web::ApiException \n
71  * -32001 Session expired. - "The user is not logged in." \n
72  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
73  */
74  void getDateTime(out DateTimeConfig config);
75 
76  /**
77  * Stores Date and Time for System configuration.
78  * @param config - structure of system date and time settings
79  * @throws kerio::web::ApiException \n
80  * -32001 Session expired. - "The user is not logged in." \n
81  * 1000 Operation failed. - "Error occurred while changing system date and time." \n
82  * 1004 Access denied. - "Insufficient rights to perform the requested operation." \n
83  * 8000 Internal error. - "Internal error."
84  */
85  void setDateTime(in DateTimeConfig config);
86 
87  /**
88  * Starts NTP client based on configured values. \n
89  * If status == NtpUpdateProgress, process is restarted
90  * @throws kerio::web::ApiException \n
91  * -32001 Session expired. - "The user is not logged in." \n
92  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
93  */
94  void setTimeFromNtp();
95 
96  /**
97  * @param status - Returns Status of NTP client process.
98  * @throws kerio::web::ApiException \n
99  * -32001 Session expired. - "The user is not logged in." \n
100  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
101  */
102  void getNtpStatus(out NtpUpdateStatus status);
103 };
104 
105 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: common.idl:62
Definition: SystemConfig.idl:40
Definition: SystemConfig.idl:12
Definition: SystemConfig.idl:35
Definition: SharedStructures.idl:279
Definition: Accounting.idl:11
Definition: SharedStructures.idl:289
Definition: SystemConfig.idl:22