All Classes Files Functions Variables Enumerations Enumerator Groups Pages
Version.idl
Go to the documentation of this file.
1 /**
2  * @file Version.idl
3  * @brief Application Programming Interface and Product version
4  *
5  * @author Dusan Juhas
6  *
7  * @copyright Copyright © 2017 Kerio Technologies s.r.o.
8  */
9 
10 module kerio {
11 module web {
12 
13 enum BuildType {
14  Alpha,
15  Beta,
16  Rc,
17  Final,
18  Patch
19 };
20 
21 /**
22  * Product version, machine- and human-readable.
23  */
25  string productName; ///< e.g. "Kerio Connect"
26  long major; ///< e.g. 7
27  long minor; ///< e.g. 4
28  long revision; ///< e.g. 0
29  long build; ///< e.g. 4528
30  long order; ///< e.g. 1 for alpha/beta/rc/patch 1
31  BuildType releaseType; ///< e.g. Patch
32  string displayNumber; ///< e.g. "7.4.0 patch 1"
33 };
34 
35 /**
36  * Number, bumped with each API change. E.g. version 7.3.1 has a
37  * higher or equal number as version 7.3.0 - equal if there's no change in API.
38  */
39 typedef long ApiVersion;
40 
41 /**
42  * Informs about product version and API version.
43  */
44 interface Version {
45  /**
46  * Get product version.
47  */
48  void getProductVersion(out ProductVersion productVersion);
49 
50  /**
51  * Get version of Administration API.
52  */
53  void getApiVersion(out ApiVersion apiVersion);
54 };
55 
56 }; // module web
57 }; // module kerio