File indexing completed on 2024-04-14 03:50:40
0001 /* 0002 This file is part of the kcalcore library. 0003 0004 SPDX-FileCopyrightText: 2020 Nicolas Fella <nicolas.fella@gmx.de> 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef KCALCORE_CALENDARPLUGIN_H 0009 #define KCALCORE_CALENDARPLUGIN_H 0010 0011 #include "kcalendarcore_export.h" 0012 0013 #include <KCalendarCore/Calendar> 0014 0015 namespace KCalendarCore 0016 { 0017 /** 0018 @brief 0019 A plugin that provides calendar data. 0020 0021 It allows calendar applications to consume data provided by multiple 0022 sources, e.g. local ical files or remote calendars. 0023 0024 @since 5.85 0025 0026 */ 0027 class KCALENDARCORE_EXPORT CalendarPlugin : public QObject 0028 { 0029 Q_OBJECT 0030 public: 0031 CalendarPlugin(QObject *parent, const QVariantList &args); 0032 0033 /** 0034 * The set of calendars defined by this plugin. 0035 * 0036 * @return QList of calendars. 0037 */ 0038 virtual QList<Calendar::Ptr> calendars() const = 0; 0039 0040 Q_SIGNALS: 0041 /** 0042 * Emitted when the set of calendars changed. 0043 */ 0044 void calendarsChanged(); 0045 0046 private: 0047 void *d; 0048 }; 0049 0050 } 0051 0052 #endif