21 #ifndef _AKONADI_CALENDARBASE_H_ 
   22 #define _AKONADI_CALENDARBASE_H_ 
   24 #include "akonadi-calendar_export.h" 
   26 #include <akonadi/item.h> 
   27 #include <akonadi/collection.h> 
   28 #include <kcalcore/memorycalendar.h> 
   29 #include <kcalcore/incidence.h> 
   30 #include <KDE/KDateTime> 
   34 class CalendarBasePrivate;
 
   35 class IncidenceChanger;
 
   50 class AKONADI_CALENDAR_EXPORT 
CalendarBase : 
public KCalCore::MemoryCalendar
 
   54     typedef QSharedPointer<CalendarBase> Ptr;
 
   71     Akonadi::Item item(
const QString &uid) 
const;
 
   77     Akonadi::Item item(
const KCalCore::Incidence::Ptr &incidence) 
const;
 
   82     Akonadi::Item item(Akonadi::Item::Id) 
const;
 
   88     Akonadi::Item::List items() 
const;
 
  101     Akonadi::Item::List itemList(
const KCalCore::Incidence::List &incidenceList) 
const;
 
  108     KCalCore::Incidence::List childIncidences(
const QString &parentUid) 
const;
 
  115     KCalCore::Incidence::List childIncidences(
const Akonadi::Item::Id &parentId) 
const;
 
  122     Akonadi::Item::List childItems(
const QString &parentUid) 
const;
 
  129     Akonadi::Item::List childItems(
const Akonadi::Item::Id &parentId) 
const;
 
  142     void setWeakPointer(
const QWeakPointer<Akonadi::CalendarBase> &pointer);
 
  149     QWeakPointer<CalendarBase> weakPointer() 
const;
 
  150  bool addEvent(
const KCalCore::Event::Ptr &event);
 
  157  bool deleteEvent(
const KCalCore::Event::Ptr &event);
 
  164  void deleteAllEvents();
 
  175  bool addTodo(
const KCalCore::Todo::Ptr &todo);
 
  182  bool deleteTodo(
const KCalCore::Todo::Ptr &todo);
 
  189  void deleteAllTodos();
 
  200  bool addJournal(
const KCalCore::Journal::Ptr &journal);
 
  207  bool deleteJournal(
const KCalCore::Journal::Ptr &journal);
 
  214  void deleteAllJournals();
 
  225  bool addIncidence(
const KCalCore::Incidence::Ptr &incidence);
 
  232  bool deleteIncidence(
const KCalCore::Incidence::Ptr &);
 
  239  void startBatchAdding();
 
  247  void endBatchAdding();
 
  258     Akonadi::IncidenceChanger *incidenceChanger() 
const;
 
  265     bool modifyIncidence(
const KCalCore::Incidence::Ptr &newIncidence);
 
  274     void createFinished(
bool success, 
const QString &errorMessage);
 
  282     void deleteFinished(
bool success, 
const QString &errorMessage);
 
  290     void modifyFinished(
bool success, 
const QString &errorMessage);
 
  294     QScopedPointer<CalendarBasePrivate> d_ptr;
 
  295     CalendarBase(CalendarBasePrivate *
const d, QObject *parent);
 
qint64 Id
Describes the unique id type. 
 
This class provides an encapsulation of iTIP transactions (RFC 2446). 
 
The base class for all akonadi aware calendars.