All Classes Files Functions Variables Pages
DynamicDns.idl
Go to the documentation of this file.
1 /**
2  * @file DynamicDns.idl
3  * @brief API for Dynamic Dns
4  * @version 5
5  */
6 
7 #import <common.idl>
8 
9 module webadmin {
10 
11 enum DynamicDnsStatus {
12  DynamicDnsOk,
13  DynamicDnsError,
14  DynamicDnsUpdate
15 };
16 
17 enum DynamicDnsAddressType {
18  DynamicDnsAdressIface,
19  DynamicDnsAdressDetect,
20  DynamicDnsAdressCustom
21 };
22 
24  boolean enabled;
25  string provider; /**< call getProviders for list of supported providers */
26  string hostname;
27  CredentialsConfig credentials;
28  DynamicDnsAddressType addressType;
29  IdReference customIface;
30 };
31 
32 interface DynamicDns {
33 
34  /**
35  * Returns DynDNS configuration
36  *
37  * @param config - configuration values
38  * @throws kerio::web::ApiException \n
39  * -32001 Session expired. - "The user is not logged in." \n
40  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
41  */
42  void get(out DynamicDnsConfig config);
43 
44  /**
45  * Stores DynDNS configuration
46  *
47  * @param config - configuration values
48  * @throws kerio::web::ApiException \n
49  * -32001 Session expired. - "The user is not logged in." \n
50  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
51  */
52  void set(in DynamicDnsConfig config);
53 
54  /**
55  * Performs synchronous DynDNS update
56  *
57  * @throws kerio::web::ApiException \n
58  * -32001 Session expired. - "The user is not logged in." \n
59  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
60  */
61  void update();
62 
63  /**
64  * Returns status of DynDNS update
65  *
66  * @param message - list of errors \n
67  * 1000 Operation failed. - "Dynamic DNS server reported error: %1." (DynamicDnsError) \n
68  * 1000 Operation failed. - "Connection to the dynamic DNS server failed." (DynamicDnsError) \n
69  * 1000 Operation failed. - "The update is already in progress" (DynamicDnsUpdate) \n
70  * 1000 Operation failed. - "Current settings have not been applied yet" (DynamicDnsUpdate) \n
71  * 1000 Operation failed. - "Detection of IP address failed." (DynamicDnsError) \n
72  * 1000 Operation failed. - "IP address cannot be loaded from the interface." (DynamicDnsError)
73  * @param status - actual status of DynDNS update
74  * @throws kerio::web::ApiException \n
75  * -32001 Session expired. - "The user is not logged in." \n
76  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
77  */
78  void getStatus(out kerio::web::LocalizableMessage message, out DynamicDnsStatus status);
79 
80  /**
81  * Returns list of supported providers
82  *
83  * @param providers - return values
84  * @throws kerio::web::ApiException \n
85  * -32001 Session expired. - "The user is not logged in." \n
86  * 1004 Access denied. - "Insufficient rights to perform the requested operation."
87  */
88  void getProviders(out kerio::web::StringList providers);
89 };
90 
91 }; //webadmin
Common Kerio Control structures, enums and types.
Definition: DynamicDns.idl:23
Definition: SharedStructures.idl:151
Definition: common.idl:28
Definition: common.idl:18
Definition: DynamicDns.idl:32
string provider
Definition: DynamicDns.idl:25
Definition: Accounting.idl:11