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 );