Client API for Kerio Connect
Main Page
API Reference
IDL Files
All
Classes
Namespaces
Files
Functions
Variables
Groups
Calendars.idl
1
/**
2
* @file Events.idl
3
* @brief Calendar Events, Exceptions, Recurrence
4
*
5
* @author Marek Sykora, Dusan Juhas
6
*
7
* @copyright Copyright © 2017 Kerio Technologies s.r.o.
8
*/
9
10
#import <
Structures.idl
>
11
12
module kerio {
13
module jsonapi {
14
module webmail {
15
module calendars {
16
17
typedef
sequence<long> LongList;
18
19
enum
FreeBusyStatus {
20
Busy,
///< opaque
21
Tentative,
22
Free,
///< transparent
23
OutOfOffice,
24
NotAvailable
25
};
26
27
/**
28
* Any event can be marked by a label
29
*/
30
enum
EventLabel {
31
None,
32
Important,
33
Business,
34
Personal,
35
Vacation,
36
MustAttend,
37
TravelRequired,
38
NeedsPreparation,
39
BirthDay,
40
Anniversary,
41
PhoneCall
42
};
43
44
/**
45
* Purposly merged role and type to avoid useless combinations like optional room
46
*/
47
enum
AttendeeRole {
48
RoleOrganizer,
49
RoleRequiredAttendee,
50
RoleOptionalAttendee,
51
RoleRoom,
52
RoleEquipment
53
};
54
55
/**
56
* Enumerate of attendee participation status. It specifies the participation status for the calendar user
57
* specified by the property. If not specified, the default value is PartNotResponded.
58
*/
59
enum
PartStatus {
60
PartNotResponded,
///< Event needs action
61
PartAccepted,
///< Event accepted
62
PartDeclined,
///< Event declined
63
PartDelegated,
///< Event delegated
64
PartTentative
///< Event tentatively accepted
65
};
66
67
/**
68
* Response to particular occurrence or event.
69
*/
70
struct
PartStatusResponse
{
71
PartStatus
status
;
72
string
message;
73
};
74
75
struct
Attendee
{
76
string
displayName
;
77
string
emailAddress
;
///< [REQUIRED]
78
AttendeeRole
role
;
///< [REQUIRED]
79
boolean
isNotified
;
///< [READ-ONLY] is Attendee notified by email on event update? also known as RSVP
80
PartStatus
partStatus
;
///< [READ-ONLY] A participation status for the event*/
81
};
82
83
typedef
sequence<Attendee> AttendeeList;
84
85
enum
ReminderType {
86
ReminderRelative,
87
ReminderAbsolute
88
};
89
90
struct
Reminder
{
91
boolean
isSet;
92
ReminderType
type
;
///< if it is not send the default value is 'ReminderRelative'
93
long
minutesBeforeStart;
94
UtcDateTime date;
95
};
96
97
enum
FrequencyType {
98
Daily,
99
Weekly,
100
Monthly,
101
Yearly
102
};
103
104
enum
EndByType {
105
ByRecurrenceNever,
106
ByRecurrenceDate
107
};
108
109
struct
EndBy
{
110
EndByType
type
;
111
UtcDateTime
date
;
///< also known as until, used for ByRecurrenceDate
112
};
113
114
struct
PreciseBy
{
115
LongList byDay;
116
LongList byMonthDay;
117
LongList byMonth;
118
LongList
byPosition
;
///< 2 = 2nd day, 3 = 3rd day
119
long
byInterval
;
///< 2 = every 2nd day, 3 = every 3rd day
120
};
121
122
struct
RecurrenceRule
{
123
boolean
isSet;
124
FrequencyType
frequency
;
///< period in which event occurs
125
EndBy
endBy
;
///< end limitation
126
PreciseBy
preciseBy
;
///< further specification
127
};
128
129
/**
130
* Purposly merged role and type to avoid useless combinations like optional room
131
*/
132
enum
EventAccess {
133
EAccessCreator,
134
EAccessInvitee,
135
EAccessReadOnly
136
};
137
138
}; }; }; };
// end of namespace
139
©
Kerio Technologies s.r.o.
, all rights reserved.