1 /* 2 * akonadi.cpp - Akonadi object functions 3 * This file is part of kalarmcal library, which provides access to KAlarm 4 * calendar data. 5 * SPDX-FileCopyrightText: 2011, 2019 David Jarvie <djarvie@kde.org> 6 * 7 * SPDX-License-Identifier: LGPL-2.0-or-later 8 */ 9 10 #include "akonadi.h" 11 #include "kaevent.h" 12 13 #include <Akonadi/Item> 14 15 namespace KAlarmCal 16 { 17 18 /****************************************************************************** 19 * Initialise an Item with the event. 20 * Note that the event is not updated with the Item ID. 21 * Reply = true if successful, 22 * false if event's category does not match collection's mime types. 23 */ setItemPayload(Akonadi::Item & item,const KAEvent & event,const QStringList & collectionMimeTypes)24bool setItemPayload(Akonadi::Item &item, const KAEvent &event, const QStringList &collectionMimeTypes) 25 { 26 QString mimetype; 27 switch (event.category()) { 28 case CalEvent::ACTIVE: mimetype = MIME_ACTIVE; break; 29 case CalEvent::ARCHIVED: mimetype = MIME_ARCHIVED; break; 30 case CalEvent::TEMPLATE: mimetype = MIME_TEMPLATE; break; 31 default: Q_ASSERT(0); return false; 32 } 33 if (!collectionMimeTypes.contains(mimetype)) { 34 return false; 35 } 36 item.setMimeType(mimetype); 37 item.setPayload<KAEvent>(event); 38 return true; 39 } 40 41 } 42