File indexing completed on 2024-04-21 03:52:38

0001 /*
0002   This file is part of the kcalcore library.
0003 
0004   SPDX-FileCopyrightText: 2007 Allen Winter <winter@kde.org>
0005 
0006   SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "event.h"
0010 #include "freebusy.h"
0011 #include "icalformat.h"
0012 #include "memorycalendar.h"
0013 
0014 #include <iostream>
0015 
0016 #include <QDate>
0017 #include <QTimeZone>
0018 
0019 using namespace KCalendarCore;
0020 using namespace std;
0021 
0022 int main(int argc, char **argv)
0023 {
0024     ICalFormat f;
0025 
0026     MemoryCalendar::Ptr cal(new MemoryCalendar(QTimeZone::utc()));
0027 
0028     Event::Ptr event1 = Event::Ptr(new Event);
0029     event1->setSummary(QStringLiteral("A"));
0030     event1->setDtStart(QDateTime(QDate(2006, 1, 1), QTime(12, 0, 0)));
0031     event1->setDtEnd(QDateTime(QDate(2006, 1, 1), QTime(13, 0, 0)));
0032     event1->setAllDay(false);
0033     event1->recurrence()->setDaily(1);
0034     event1->recurrence()->setEndDateTime(QDateTime(QDate(2006, 1, 3), QTime(13, 0, 0)));
0035     cout << f.toICalString(event1).toLocal8Bit().data() << endl;
0036     cal->addEvent(event1);
0037 
0038     Event::Ptr event2 = Event::Ptr(new Event);
0039     event2->setSummary(QStringLiteral("B"));
0040     event2->setDtStart(QDateTime(QDate(2006, 1, 1), QTime(13, 0, 0)));
0041     event2->setDtEnd(QDateTime(QDate(2006, 1, 1), QTime(14, 0, 0)));
0042     event2->setAllDay(false);
0043     event2->recurrence()->setDaily(1);
0044     event2->recurrence()->setEndDateTime(QDateTime(QDate(2006, 1, 4), QTime(13, 0, 0)));
0045     cout << f.toICalString(event2).toLocal8Bit().data() << endl;
0046     cal->addEvent(event2);
0047 
0048     QDateTime start(QDate(2006, 1, 2), QTime(0, 0, 0));
0049     QDateTime end(QDate(2006, 1, 3), QTime(0, 0, 0));
0050 
0051     FreeBusy::Ptr freebusy = FreeBusy::Ptr(new FreeBusy(cal->rawEvents(start.date(), end.date()), start, end));
0052     QString result = f.createScheduleMessage(freebusy, iTIPPublish);
0053     cout << result.toLocal8Bit().data() << endl;
0054 
0055     return 0;
0056 }