ksync Library API Documentation

calendarsyncee.cpp

00001 // $Id: calendarsyncee.cpp,v 1.5 2002/07/28 17:27:55 cschumac Exp $
00002 
00003 #include <kdebug.h>
00004 
00005 #include "calendarsyncee.h"
00006 
00007 CalendarSyncEntry::CalendarSyncEntry(Incidence *incidence) :
00008   mIncidence(incidence)
00009 {
00010 }
00011 
00012 QString CalendarSyncEntry::name()
00013 {
00014   return mIncidence->summary();
00015 }
00016 
00017 QString CalendarSyncEntry::id()
00018 {
00019   return mIncidence->uid();
00020 }
00021 
00022 QString CalendarSyncEntry::timestamp()
00023 {
00024   return mIncidence->lastModified().toString();
00025 }
00026 
00027 bool CalendarSyncEntry::equals(KSyncEntry *entry)
00028 {
00029   CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00030   if (!calEntry) {
00031     kdDebug() << "CalendarSyncee::addEntry(): Wrong type." << endl;
00032     return false;
00033   }
00034 
00035   if (mIncidence->uid() != calEntry->incidence()->uid()) return false;
00036   if (mIncidence->lastModified() != calEntry->incidence()->lastModified())
00037     return false;
00038 
00039   return true;
00040 }
00041 
00042 CalendarSyncee::CalendarSyncee()
00043 {
00044   mCalendar = new CalendarLocal;
00045 
00046   mEntries.setAutoDelete(true);
00047 }
00048 
00049 CalendarSyncee::~CalendarSyncee()
00050 {
00051   delete mCalendar;
00052 }
00053 
00054 bool CalendarSyncee::read()
00055 {
00056   mCalendar->close();
00057   return mCalendar->load(filename());
00058 }
00059 
00060 bool CalendarSyncee::write()
00061 {
00062   return mCalendar->save(filename());
00063 }
00064 
00065 
00066 CalendarSyncEntry *CalendarSyncee::firstEntry()
00067 {
00068   mEvents = mCalendar->events();
00069   mCurrentEvent = mEvents.first();
00070   return createEntry(mCurrentEvent);
00071 }
00072 
00073 CalendarSyncEntry *CalendarSyncee::nextEntry()
00074 {
00075   mCurrentEvent = mEvents.next();
00076   return createEntry(mCurrentEvent);
00077 }
00078 
00079 #if 0
00080 CalendarSyncEntry *CalendarSyncee::findEntry(const QString &id)
00081 {
00082   Event *event = mCalendar->getEvent(id);
00083   return createEntry(event);
00084 }
00085 #endif
00086 
00087 void CalendarSyncee::addEntry(KSyncEntry *entry)
00088 {
00089   CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00090   if (!calEntry) {
00091     kdDebug() << "CalendarSyncee::addEntry(): SyncEntry has wrong type."
00092               << endl;
00093   } else {
00094     Event *sourceEvent = dynamic_cast<Event *>(calEntry->incidence());
00095     if (!sourceEvent) {
00096       kdDebug() << "CalendarSyncee::addEntry(): Incidence is not of type Event."
00097                 << endl;
00098     } else {
00099       kdDebug() << "Cloning..." << endl;
00100       Event *event = dynamic_cast<Event *>(sourceEvent->clone());
00101       kdDebug() << "Cloning...." << endl;
00102       mCalendar->addEvent(event);
00103       kdDebug() << "Cloning....." << endl;
00104     }
00105   }
00106 }
00107 
00108 void CalendarSyncee::removeEntry(KSyncEntry *entry)
00109 {
00110   CalendarSyncEntry *calEntry = dynamic_cast<CalendarSyncEntry *>(entry);
00111   if (!calEntry) {
00112     kdDebug() << "CalendarSyncee::removeEntry(): SyncEntry has wrong type."
00113               << endl;
00114   } else {
00115     Event *ev = dynamic_cast<Event *>(calEntry->incidence());
00116     if (ev) {
00117       mCalendar->deleteEvent(ev);
00118     } else {
00119       kdDebug() << "CalendarSyncee::removeEntry(): Incidence has wrong type."
00120                 << endl;
00121     }
00122   }
00123 }
00124 
00125 CalendarSyncEntry *CalendarSyncee::createEntry(Incidence *incidence)
00126 {
00127   if (incidence) {
00128     CalendarSyncEntry *entry = new CalendarSyncEntry(incidence);
00129     mEntries.append(entry);
00130     return entry;
00131   } else {
00132     return 0;
00133   }  
00134 }
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 15 11:40:48 2004 by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2001