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,
65 explicit Scheduler( QObject *parent = 0 );
74 virtual void publish(
const KCalCore::IncidenceBase::Ptr &incidence,
75 const QString &recipients ) = 0;
84 KCalCore::iTIPMethod method ) = 0;
95 KCalCore::iTIPMethod method,
96 const QString &recipients ) = 0;
114 const Akonadi::CalendarBase::Ptr &calendar,
115 KCalCore::iTIPMethod method,
116 KCalCore::ScheduleMessage::Status status,
117 const QString &email = QString() );
135 void acceptPublish(
const KCalCore::IncidenceBase::Ptr &,
136 const Akonadi::CalendarBase::Ptr &calendar,
137 KCalCore::ScheduleMessage::Status status,
138 KCalCore::iTIPMethod method );
140 void acceptRequest(
const KCalCore::IncidenceBase::Ptr &,
141 const Akonadi::CalendarBase::Ptr &calendar,
142 KCalCore::ScheduleMessage::Status status,
143 const QString &email );
145 void acceptAdd(
const KCalCore::IncidenceBase::Ptr &,
146 KCalCore::ScheduleMessage::Status status );
148 void acceptCancel(
const KCalCore::IncidenceBase::Ptr &,
149 const Akonadi::CalendarBase::Ptr &calendar,
150 KCalCore::ScheduleMessage::Status status,
151 const QString &attendee );
153 void acceptDeclineCounter(
const KCalCore::IncidenceBase::Ptr &,
154 KCalCore::ScheduleMessage::Status status );
156 void acceptReply(
const KCalCore::IncidenceBase::Ptr &,
157 const Akonadi::CalendarBase::Ptr &calendar,
158 KCalCore::ScheduleMessage::Status status,
159 KCalCore::iTIPMethod method );
161 void acceptRefresh(
const KCalCore::IncidenceBase::Ptr &,
162 KCalCore::ScheduleMessage::Status status );
164 void acceptCounter(
const KCalCore::IncidenceBase::Ptr &,
165 KCalCore::ScheduleMessage::Status status );
167 void acceptFreeBusy(
const KCalCore::IncidenceBase::Ptr &, KCalCore::iTIPMethod method );
168 KCalCore::ICalFormat *mFormat;
171 void transactionFinished( Akonadi::Scheduler::Result,
const QString &errorMessage );
173 void handleCreateFinished(
bool success,
const QString &errorMessage );
174 void handleModifyFinished(
bool success,
const QString &errorMessage );
175 void handleDeleteFinished(
bool success,
const QString &errorMessage );
178 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
Notify recipients about incidence.