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 }