20 #ifndef AKONADI_CALENDAR_SCHEDULER_P_H
21 #define AKONADI_CALENDAR_SCHEDULER_P_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,
69 void setShowDialogs(
bool enable);
77 virtual void publish(
const KCalCore::IncidenceBase::Ptr &incidence,
87 KCalCore::iTIPMethod method) = 0;
98 KCalCore::iTIPMethod method,
118 KCalCore::iTIPMethod method,
119 KCalCore::ScheduleMessage::Status status,
138 void acceptPublish(
const KCalCore::IncidenceBase::Ptr &,
140 KCalCore::ScheduleMessage::Status status,
141 KCalCore::iTIPMethod method);
143 void acceptRequest(
const KCalCore::IncidenceBase::Ptr &,
145 KCalCore::ScheduleMessage::Status status,
148 void acceptAdd(
const KCalCore::IncidenceBase::Ptr &,
149 KCalCore::ScheduleMessage::Status status);
151 void acceptCancel(
const KCalCore::IncidenceBase::Ptr &,
153 KCalCore::ScheduleMessage::Status status,
156 void acceptDeclineCounter(
const KCalCore::IncidenceBase::Ptr &,
157 KCalCore::ScheduleMessage::Status status);
159 void acceptReply(
const KCalCore::IncidenceBase::Ptr &,
161 KCalCore::ScheduleMessage::Status status,
162 KCalCore::iTIPMethod method);
164 void acceptRefresh(
const KCalCore::IncidenceBase::Ptr &,
165 KCalCore::ScheduleMessage::Status status);
167 void acceptCounter(
const KCalCore::IncidenceBase::Ptr &,
168 KCalCore::ScheduleMessage::Status status);
170 void acceptFreeBusy(
const KCalCore::IncidenceBase::Ptr &, KCalCore::iTIPMethod method);
171 KCalCore::ICalFormat *mFormat;
174 void transactionFinished(Akonadi::Scheduler::Result,
const QString &errorMessage);
176 void handleCreateFinished(
bool success,
const QString &errorMessage);
177 void handleModifyFinished(
bool success,
const QString &errorMessage);
178 void handleDeleteFinished(
bool success,
const QString &errorMessage);
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
Notify recipients about incidence.