All Classes Namespaces Files Functions Variables Groups
Integration.idl
Go to the documentation of this file.
1 /**
2  * @file Integration.idl
3  * @brief Methods for integration with mobile devices and other supported platforms
4  *
5  * @author Frantisek Boranek
6  *
7  * @copyright Copyright © 2017 Kerio Technologies s.r.o.
8  */
9 
10 #import <Structures.idl>
11 #import <Folders.idl>
12 
13 module kerio {
14 module jsonapi {
15 module webmail {
16 module integration {
17 
18 /**
19  * Class with methods for integration
20  */
21 struct SyncFolder {
22  kerio::web::KId id; ///< [READ-ONLY] global identification
23  kerio::web::KId parentId; ///< [READ-ONLY] global identification
24  string name; ///< [READ-ONLY] folder name displayed in folder tree
25  kerio::jsonapi::webmail::folders::FolderType type; ///< [READ-ONLY] type of the folder
26  kerio::jsonapi::webmail::folders::FolderSubType subType; ///< [READ-ONLY] type of the folder
27  kerio::jsonapi::webmail::folders::FolderPlaceType placeType; ///< [READ-ONLY] type of place where is folder placed
28  long nestingLevel; ///< [READ-ONLY] number 0 = root folder, 1 = subfolders of root folder, 2 = subfolder of subfolder, ...
29  string ownerName; ///< [READ-ONLY] name of owner of folder (available only for 'FPlacePeople', 'FPlaceResources' and 'FPlaceLocations')
30  string emailAddress; ///< [READ-ONLY] email of owner of folder (available only for 'FPlacePeople', 'FPlaceResources' and 'FPlaceLocations')
31 
32  boolean isSelectable; ///< [READ-ONLY] false if a setting of this folder cannot be modified
33  boolean synchronize; ///< true if should be this folder synchronize
34 };
35 
36 typedef sequence<SyncFolder> SyncFolderList;
37 
38 
39 /**
40  * Class with methods for integration
41  */
42 interface Integration {
43 
44  /**
45  * Obtain list of folders of currently logged user
46  *
47  * @param list - list of folders
48  */
49  void getASyncFolderList(out SyncFolderList list);
50 
51  /**
52  * Set folder properties
53  *
54  * @param errors - error message list
55  * @param folders - properties to save
56  */
57  void setASyncFolderList(out kerio::web::ErrorList errors, in SyncFolderList folders);
58 
59 
60  /**
61  * Obtain list of folders of currently logged user (task and calendars only)
62  *
63  * @param list - list of folders
64  */
65  void getIPhoneSyncFolderList(out SyncFolderList list);
66 
67  /**
68  * Set folder properties (task and calendars only)
69  *
70  * @param errors - error message list
71  * @param folders - properties to save
72  */
73  void setIPhoneSyncFolderList(out kerio::web::ErrorList errors, in SyncFolderList folders);
74 
75 };
76 
77 }; }; }; }; // end of namespace