2 Convert Exchange appointments to ICAL
6 Copyright (C) Julien Kerihuel 2008
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #include <libexchange2ical/exchange2ical.h>
23 #ifndef __LIBEXCHANGE2ICAL_H_
24 #define __LIBEXCHANGE2ICAL_H_
27 \details Retrieve entire exchange calendar as an Icalendar
29 This function returns an Icalendar of the entire exchange calendar inside the obj_folder
31 \param obj_folder the folder to operate in
33 \return Icalendar on success, otherwise Null
35 \note Developers should call ical_component_free() on the returned icalendar after use.
38 icalcomponent * Exchange2Ical(mapi_object_t *obj_folder);
41 \details Retrieve a range of exchange appointments as an Icalendar
43 This function returns an Icalendar of exchange appointments that begin within the specified range.
45 \param obj_folder the folder to operate in
46 \param begin a tm that specifies the start date of the range
47 \param end a tm that specifies the end date of the range
49 \return Icalendar on success, otherwise Null
51 \note Developers should call ical_component_free() on the returned icalendar after use.
52 If no events are within the specified range, an icalendar will be returned without any vevents.
55 icalcomponent * Exchange2IcalRange(mapi_object_t *obj_folder, struct tm *begin, struct tm *end);
59 \details Retrieve a specific exchange appointment as an Icalendar
61 This function returns an Icalendar with an appointments that match
62 the specified GlobalObjectId and sequence number.
64 \param obj_folder the folder to operate in
65 \param GlobalObjectId the unique GlobalObjectId of the appointment
66 \param Sequence the sequence number of the appointment
68 \return Icalendar on success, otherwise Null
70 \note Developers should call ical_component_free() on the returned icalendar after use.
71 If no event's GlobalObjectId match the specifid GlobalObjectId, an icalendar will be returned without any vevents.
74 icalcomponent *Exchange2IcalEvent(mapi_object_t *obj_folder, struct GlobalObjectId *GlobalObjectId, uint32_t Sequence);
78 \details Retrieve an exchange appointment and its occurrences as an Icalendar
80 This function returns an Icalendar with any appointments that match
81 the specified GlobalObjectId and sequence number.
83 \param obj_folder the folder to operate in
84 \param GlobalObjectId the unique GlobalObjectId of the appointment
86 \return Icalendar on success, otherwise Null
88 \note Developers should call ical_component_free() on the returned icalendar after use.
89 If no event's GlobalObjectId match the specifid GlobalObjectId, an icalendar will be returned without any vevents.
92 icalcomponent *Exchange2IcalEvents(mapi_object_t *obj_folder, struct GlobalObjectId *GlobalObjectId);
94 #endif /* __LIBEXCHANGE2ICAL_H_ */