20 #ifndef AKONADI_CALENDAR_SCHEDULER_H
21 #define AKONADI_CALENDAR_SCHEDULER_H
23 #include "calendarbase.h"
25 #include <kcalcore/schedulemessage.h>
26 #include <kcalcore/incidencebase.h>
28 #include <QtCore/QObject>
29 #include <QtCore/QString>
30 #include <QtCore/QList>
49 ResultAssigningDifferentTypes,
52 ResultIncidenceToDeleteNotFound,
54 ResultNoFreeBusyCache,
55 ResultErrorSavingFreeBusy,
64 explicit Scheduler( QObject *parent = 0 );
71 virtual void publish(
const KCalCore::IncidenceBase::Ptr &incidence,
72 const QString &recipients ) = 0;
81 KCalCore::iTIPMethod method ) = 0;
92 KCalCore::iTIPMethod method,
93 const QString &recipients ) = 0;
111 const Akonadi::CalendarBase::Ptr &calendar,
112 KCalCore::iTIPMethod method,
113 KCalCore::ScheduleMessage::Status status,
114 const QString &email = QString() );
132 void acceptPublish(
const KCalCore::IncidenceBase::Ptr &,
133 const Akonadi::CalendarBase::Ptr &calendar,
134 KCalCore::ScheduleMessage::Status status,
135 KCalCore::iTIPMethod method );
137 void acceptRequest(
const KCalCore::IncidenceBase::Ptr &,
138 const Akonadi::CalendarBase::Ptr &calendar,
139 KCalCore::ScheduleMessage::Status status,
140 const QString &email );
142 void acceptAdd(
const KCalCore::IncidenceBase::Ptr &,
143 KCalCore::ScheduleMessage::Status status );
145 void acceptCancel(
const KCalCore::IncidenceBase::Ptr &,
146 const Akonadi::CalendarBase::Ptr &calendar,
147 KCalCore::ScheduleMessage::Status status,
148 const QString &attendee );
150 void acceptDeclineCounter(
const KCalCore::IncidenceBase::Ptr &,
151 KCalCore::ScheduleMessage::Status status );
153 void acceptReply(
const KCalCore::IncidenceBase::Ptr &,
154 const Akonadi::CalendarBase::Ptr &calendar,
155 KCalCore::ScheduleMessage::Status status,
156 KCalCore::iTIPMethod method );
158 void acceptRefresh(
const KCalCore::IncidenceBase::Ptr &,
159 KCalCore::ScheduleMessage::Status status );
161 void acceptCounter(
const KCalCore::IncidenceBase::Ptr &,
162 KCalCore::ScheduleMessage::Status status );
164 void acceptFreeBusy(
const KCalCore::IncidenceBase::Ptr &, KCalCore::iTIPMethod method );
165 KCalCore::ICalFormat *mFormat;
168 void transactionFinished( Akonadi::Scheduler::Result,
const QString &errorMessage );
170 void handleCreateFinished(
bool success,
const QString &errorMessage );
171 void handleModifyFinished(
bool success,
const QString &errorMessage );
172 void handleDeleteFinished(
bool success,
const QString &errorMessage );
175 void connectCalendar(
const Akonadi::CalendarBase::Ptr &calendar );
KCalCore::FreeBusyCache * freeBusyCache() const
Returns the free/busy cache.
virtual QString freeBusyDir() const =0
Returns the directory where the free-busy information is stored.
virtual void performTransaction(const KCalCore::IncidenceBase::Ptr &incidence, KCalCore::iTIPMethod method)=0
Performs iTIP transaction on incidence.
void setFreeBusyCache(KCalCore::FreeBusyCache *)
Sets the free/busy cache used to store free/busy information.
This class provides an encapsulation of iTIP transactions (RFC 2446).
void acceptTransaction(const KCalCore::IncidenceBase::Ptr &incidence, const Akonadi::CalendarBase::Ptr &calendar, KCalCore::iTIPMethod method, KCalCore::ScheduleMessage::Status status, const QString &email=QString())
Accepts the transaction.
Scheduler(QObject *parent=0)
Creates a scheduler for calendar specified as argument.
virtual void publish(const KCalCore::IncidenceBase::Ptr &incidence, const QString &recipients)=0
iTIP publish action