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
24  boolean forceHostname;
26  kerio::web::KId timeZoneId;
27 };
28 
29 enum NtpUpdatePhase {
30  NtpUpdateDisabled,
31  NtpUpdateOk,
32  NtpUpdateError,
33  NtpUpdateProgress
34 };
35 
37  NtpUpdatePhase phase;
38  string errorMessage; //< Error message in case of NtpUpdateError
39 };
40 
41 interface SystemConfig {
42 
43  /**
44  * @param config - Returns actual values for System configuration in WebAdmin
45  * @throws kerio::web::ApiException \n
46  * -32001 Session expired. - "The user is not logged in." \n
47  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
48  */
49  void get(out SystemConfiguration config);
50 
51  /**
52  * Stores System configuration
53  * @param config - contains system setting to be stored.
54  * @throws kerio::web::ApiException \n
55  * -32001 Session expired. - "The user is not logged in." \n
56  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
57  */
58  void set(in SystemConfiguration config);
59 
60  /**
61  * @param timeZones - Returns the list of known timezones.
62  * @param currentDate - Client actual time to serve as an input for timezone and DST detection.
63  * @throws kerio::web::ApiException \n
64  * -32001 Session expired. - "The user is not logged in." \n
65  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
66  */
67  void getTimeZones(out TimeZoneConfigList timeZones, in kerio::web::Date currentDate);
68 
69  /**
70  * @param config - Returns Date and Time for System configuration.
71  * @throws kerio::web::ApiException \n
72  * -32001 Session expired. - "The user is not logged in." \n
73  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
74  */
75  void getDateTime(out DateTimeConfig config);
76 
77  /**
78  * Stores Date and Time for System configuration.
79  * @param config - structure of system date and time settings
80  * @throws kerio::web::ApiException \n
81  * -32001 Session expired. - "The user is not logged in." \n
82  * 1000 Operation failed. - "Error occurred while changing system date and time." \n
83  * 1004 Access denied. - "Insufficient rights to perform the requested operation." \n
84  * 8000 Internal error. - "Internal error."
85  */
86  void setDateTime(in DateTimeConfig config);
87 
88  /**
89  * Starts NTP client based on configured values. \n
90  * If status == NtpUpdateProgress, process is restarted
91  * @throws kerio::web::ApiException \n
92  * -32001 Session expired. - "The user is not logged in." \n
93  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
94  */
95  void setTimeFromNtp();
96 
97  /**
98  * @param status - Returns Status of NTP client process.
99  * @throws kerio::web::ApiException \n
100  * -32001 Session expired. - "The user is not logged in." \n
101  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
102  */
103  void getNtpStatus(out NtpUpdateStatus status);
104 };
105 
106 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: common.idl:62
Definition: SystemConfig.idl:41
Definition: SystemConfig.idl:12
Definition: SystemConfig.idl:36
Definition: SharedStructures.idl:279
Definition: Accounting.idl:11
Definition: SharedStructures.idl:289
Definition: SystemConfig.idl:22