All Classes Files Functions Variables Enumerations Enumerator Groups Pages
Init.idl
1 /**
2  * @file init.idl
3  * @brief Initial configuration of Kerio Connect after installation.
4  *
5  * @author Miroslav Kroc
6  *
7  * @copyright Copyright © 2011-2014 Kerio Technologies s.r.o.
8  */
9 
10 #import <kerio/web/idl/SharedStructures.idl>
11 #import <common.idl>
12 #import <AdminStructures.idl> // DirectoryAccessResult, DirectoryList
13 #import <DistributedDomain.idl>
14 #import <CentralManagement.idl>
15 
16 module kerio {
17 module jsonapi {
18 module admin {
19 
20 interface Init {
21 
22  /**
23  * Returns FQDN (fully qualified domain name) of the server (e.g. mail.companyname.com).
24  *
25  * @param hostname - name of the server
26  */
27  void getHostname(out string hostname);
28 
29  /**
30  * Check existence of domain name in the DNS. Existence of DN record with type "A" in appropriate DNS zone.
31  *
32  * @param hostname - fully qualified domain name of the server
33  */
34  void checkHostname(in string hostname);
35 
36  /**
37  * Check existence of MX record in the DNS for specified domain.
38  *
39  * @param domainName - fully qualified domain name
40  */
41  void checkMxRecord(in string domainName);
42 
43  /**
44  * Set Internet hostname of the server. This name is used for server identification in SMTP, POP3 and similar protocols.
45  *
46  * @param hostname - new fully qualified domain name of the server
47  */
48  void setHostname(in string hostname);
49 
50  /**
51  * Retrieve domains, which can be distributed, from the master server as a standalone server.
52  *
53  * @param domainNames - List of domains which can be distributed (they have a directory service set).
54  * @param authentication - Structure with a credential. Credential will be used when connected is false.
55  */
56  void getDistributableDomains(out kerio::web::StringList domainNames, in ClusterAuthentication authentication);
57 
58  /**
59  * Connect server to cluster as slave and create distributable domain.
60  *
61  * @param result - if ClusterErrorType is not clSuccess, error argument contains additional error info
62  * @param domainName - domain which can be distributed (they have a directory service set) and exist on master server.
63  * @param authentication - Structure with a credential. Credential will be used when connected is false.
64  */
65  void createDistributableDomain(out ClusterError result, in string domainName, in ClusterAuthentication authentication);
66 
67  /**
68  * Creates the primary email domain.
69  *
70  * @param domainName - fully qualified name of the domain
71  */
72  void createPrimaryDomain(in string domainName);
73 
74  /**
75  * Creates the administrator account. This account will be created in primary domain.
76  *
77  * @param loginName - login name for administrator (without domain name)
78  * @param password - administrator password
79  */
80  void createAdministratorAccount(in string loginName, in string password);
81 
82  /**
83  * Get current path to message store. Default path is "store" subdirectory in installation directory.
84  *
85  * @param path - full path to message store directory
86  * @param freeSpace - amount of free space in the directory
87  */
88  void getMessageStorePath(out string path, out LongNumber freeSpace);
89 
90  /**
91  * Set path to message store directory.
92  *
93  * @param path - full path to message store directory
94  */
95  void setMessageStorePath(in string path);
96 
97  /**
98  * Obtain a list of directories in a particular path.
99  *
100  * @param dirList - List of directories
101  * @param fullPath - directory for listing, if full path is empty logical drives will be listed
102  */
103  void getDirs(out DirectoryList dirList, in string fullPath);
104 
105  /**
106  * Check if message store path is correct and can be created in the file system.
107  *
108  * @param result - result of the check
109  * @param freeSpace - amount of free space in the directory
110  * @param path - full path to message store directory
111  */
112  void checkMessageStorePath(out DirectoryAccessResult result, out LongNumber freeSpace, in string path);
113 
114  /**
115  * Set client statistics settings.
116  *
117  * @param isEnabled - flag if statistics are enabled
118  */
119  void setClientStatistics(in boolean isEnabled);
120 
121 
122  /**
123  * Get Central Management status (MyKerio).
124  */
125  void getCentralManagementStatus(out CentralManagementStatus status);
126 
127  void getCentralManagement(out CentralManagementConfig config);
128 
129  /**
130  * Set Central Management settings (MyKerio).
131  *
132  * @param isEnabled - flag if central management is enabled
133  */
134  void setCentralManagement(in boolean isEnabled);
135 
136  /**
137  * Finish initial configuration of Kerio Connect.
138  */
139  void finish();
140 
141  /**
142  * Server side list of constants.
143  *
144  * @param constants - list of constants
145  */
146  void getNamedConstantList(out NamedConstantList constants);
147 
148  /**
149  * Returns a list of user-preferred languages set in browser.
150  *
151  * @param calculatedLanguage - a list of 2-character language codes
152  */
153  void getBrowserLanguages(out kerio::web::StringList calculatedLanguage);
154 
155  /**
156  * Get basic information about product and its version.
157  *
158  * @param info - structure with basic information about product
159  */
160  void getProductInfo(out ProductInfo info);
161 
162  /**
163  * Obtain EULA.
164  *
165  * @param content - plain text of EULA
166  */
167  void getEula(out string content);
168  /**
169  * Returns the encryption information
170  *
171  * @param result - encryption information
172  */
173  void getEncryptionStatus(out string status, out string action, out EncryptionError error, out EncryptionProgress progress);
174 
175 };
176 
177 }; }; };//end of namespace