ksync Library API Documentation

addressbooksyncee.cpp

00001 #include <kdebug.h>
00002 #include <kabc/resourcefile.h>
00003 
00004 #include "addressbooksyncee.h"
00005 
00006 AddressBookSyncEntry::AddressBookSyncEntry( const KABC::Addressee &a ) :
00007   mAddressee( a )
00008 {
00009 }
00010 
00011 QString AddressBookSyncEntry::name()
00012 {
00013   return mAddressee.realName();
00014 }
00015 
00016 QString AddressBookSyncEntry::id()
00017 {
00018   return mAddressee.uid();
00019 }
00020 
00021 QString AddressBookSyncEntry::timestamp()
00022 {
00023   return QString::null;
00024 }
00025 
00026 bool AddressBookSyncEntry::equals( KSyncEntry *entry )
00027 {
00028   AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00029   if ( !abEntry ) {
00030     kdDebug() << "AddressBookSyncee::equals(): Wrong type." << endl;
00031     return false;
00032   }
00033 
00034   if ( mAddressee == abEntry->addressee() ) {
00035     kdDebug() << "AddressBookSyncEntry::equals(): '" << entry->name() << "':"
00036               << "equal" << endl;    
00037     return true;
00038   } else {
00039     kdDebug() << "AddressBookSyncEntry::equals(): '" << entry->name() << "':"
00040               << "not equal" << endl;
00041     return false;
00042   }
00043 }
00044 
00045 AddressBookSyncee::AddressBookSyncee()
00046 {
00047   mAddressBook = new KABC::AddressBook;
00048 
00049   mEntries.setAutoDelete(true);
00050 }
00051 
00052 AddressBookSyncee::~AddressBookSyncee()
00053 {
00054   delete mAddressBook;
00055 }
00056 
00057 bool AddressBookSyncee::read()
00058 {
00059   ( void * ) new KABC::ResourceFile( mAddressBook, filename() );
00060   return mAddressBook->load();
00061 }
00062 
00063 bool AddressBookSyncee::write()
00064 {
00065   KABC::Ticket *ticket = mAddressBook->requestSaveTicket();
00066   if ( !ticket ) return false;
00067   return mAddressBook->save( ticket );
00068 }
00069 
00070 
00071 AddressBookSyncEntry *AddressBookSyncee::firstEntry()
00072 {
00073   mAddressBookIterator = mAddressBook->begin();
00074   return createEntry( *mAddressBookIterator );
00075 }
00076 
00077 AddressBookSyncEntry *AddressBookSyncee::nextEntry()
00078 {
00079   ++mAddressBookIterator;
00080   return createEntry( *mAddressBookIterator );
00081 }
00082 
00083 #if 0
00084 AddressBookSyncEntry *AddressBookSyncee::findEntry(const QString &id)
00085 {
00086   Event *event = mAddressBook->getEvent(id);
00087   return createEntry(event);
00088 }
00089 #endif
00090 
00091 void AddressBookSyncee::addEntry( KSyncEntry *entry )
00092 {
00093   AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00094   if (!abEntry) {
00095     kdDebug() << "AddressBookSyncee::addEntry(): SyncEntry has wrong type."
00096               << endl;
00097   } else {
00098     mAddressBook->insertAddressee( abEntry->addressee() );
00099   }
00100 }
00101 
00102 void AddressBookSyncee::removeEntry( KSyncEntry *entry )
00103 {
00104   AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00105   if ( !abEntry ) {
00106     kdDebug() << "AddressBookSyncee::removeEntry(): SyncEntry has wrong type."
00107               << endl;
00108   } else {
00109     mAddressBook->removeAddressee( abEntry->addressee() );
00110   }
00111 }
00112 
00113 AddressBookSyncEntry *AddressBookSyncee::createEntry( const KABC::Addressee &a )
00114 {
00115   if ( !a.isEmpty() ) {
00116     AddressBookSyncEntry *entry = new AddressBookSyncEntry( a );
00117     mEntries.append( entry );
00118     return entry;
00119   } else {
00120     return 0;
00121   }  
00122 }
KDE Logo
This file is part of the documentation for kdelibs Version 3.1.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sat Oct 18 02:47:17 2003 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001