All Classes Namespaces Files Functions Variables Groups
FreeBusy.idl
Go to the documentation of this file.
1 /**
2  * @file FreeBusy.idl
3  * @brief %FreeBusy management
4  *
5  * @author Dusan Juhas, Frantisek Boranek
6  *
7  * @copyright Copyright © 2017 Kerio Technologies s.r.o.
8  */
9 
10 #import <Structures.idl>
11 #import <Events.idl>
12 
13 module kerio {
14 module jsonapi {
15 module webmail {
16 module freebusy {
17 
18 
19 /**
20  * FreeBusy status for particular interval.
21  */
23  kerio::jsonapi::webmail::calendars::FreeBusyStatus status;
24  UtcDateTime start;
25  UtcDateTime end;
26 };
27 
28 /**
29  * FreeBusy sequence for particular interval.
30  */
31 typedef sequence<FreeBusyInterval> FreeBusySequence;
32 
33 /**
34  * List of free busy sequences.
35  */
36 typedef sequence<FreeBusySequence> FreeBusyList;
37 
38 
39 /**
40  * FreeBusy management.
41  */
42 interface FreeBusy {
43  /**
44  * Retrieve freebusy data for given useres and time interval.
45  * Free status is not being inserted into the result lists. Empty FreeBusySequence means the user is free for whole the interval.
46  */
47  void get(out FreeBusyList list, in kerio::web::StringList userAddresses, in UtcDateTime start, in UtcDateTime end);
48 };
49 
50 }; }; }; }; // end of namespace
51 
52 /**
53  * @}
54  */