addressbooksyncee.cpp
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <kdebug.h>
00023 #include <kabc/resource.h>
00024 #include <kresources/manager.h>
00025
00026 #include "addressbooksyncee.h"
00027
00028 AddressBookSyncEntry::AddressBookSyncEntry( const KABC::Addressee &a ) :
00029 mAddressee( a )
00030 {
00031 }
00032
00033 QString AddressBookSyncEntry::name()
00034 {
00035 return mAddressee.realName();
00036 }
00037
00038 QString AddressBookSyncEntry::id()
00039 {
00040 return mAddressee.uid();
00041 }
00042
00043 QString AddressBookSyncEntry::timestamp()
00044 {
00045 return QString::null;
00046 }
00047
00048 bool AddressBookSyncEntry::equals( KSyncEntry *entry )
00049 {
00050 AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00051 if ( !abEntry ) {
00052 kdDebug() << "AddressBookSyncee::equals(): Wrong type." << endl;
00053 return false;
00054 }
00055
00056 if ( mAddressee == abEntry->addressee() ) {
00057 kdDebug() << "AddressBookSyncEntry::equals(): '" << entry->name() << "':"
00058 << "equal" << endl;
00059 return true;
00060 } else {
00061 kdDebug() << "AddressBookSyncEntry::equals(): '" << entry->name() << "':"
00062 << "not equal" << endl;
00063 return false;
00064 }
00065 }
00066
00067 AddressBookSyncee::AddressBookSyncee()
00068 {
00069 mAddressBook = new KABC::AddressBook;
00070
00071 mEntries.setAutoDelete(true);
00072 }
00073
00074 AddressBookSyncee::~AddressBookSyncee()
00075 {
00076 delete mAddressBook;
00077 }
00078
00079 bool AddressBookSyncee::read()
00080 {
00081 KRES::Manager<KABC::Resource> manager( "contact" );
00082 KABC::Resource *resource = manager.createResource( "file" );
00083 mAddressBook->addResource( resource );
00084 return mAddressBook->load();
00085 }
00086
00087 bool AddressBookSyncee::write()
00088 {
00089 KABC::Ticket *ticket = mAddressBook->requestSaveTicket();
00090 if ( !ticket ) return false;
00091 return mAddressBook->save( ticket );
00092 }
00093
00094
00095 AddressBookSyncEntry *AddressBookSyncee::firstEntry()
00096 {
00097 mAddressBookIterator = mAddressBook->begin();
00098 return createEntry( *mAddressBookIterator );
00099 }
00100
00101 AddressBookSyncEntry *AddressBookSyncee::nextEntry()
00102 {
00103 ++mAddressBookIterator;
00104 return createEntry( *mAddressBookIterator );
00105 }
00106
00107 #if 0
00108 AddressBookSyncEntry *AddressBookSyncee::findEntry(const QString &id)
00109 {
00110 Event *event = mAddressBook->getEvent(id);
00111 return createEntry(event);
00112 }
00113 #endif
00114
00115 void AddressBookSyncee::addEntry( KSyncEntry *entry )
00116 {
00117 AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00118 if (!abEntry) {
00119 kdDebug() << "AddressBookSyncee::addEntry(): SyncEntry has wrong type."
00120 << endl;
00121 } else {
00122 mAddressBook->insertAddressee( abEntry->addressee() );
00123 }
00124 }
00125
00126 void AddressBookSyncee::removeEntry( KSyncEntry *entry )
00127 {
00128 AddressBookSyncEntry *abEntry = dynamic_cast<AddressBookSyncEntry *>(entry);
00129 if ( !abEntry ) {
00130 kdDebug() << "AddressBookSyncee::removeEntry(): SyncEntry has wrong type."
00131 << endl;
00132 } else {
00133 mAddressBook->removeAddressee( abEntry->addressee() );
00134 }
00135 }
00136
00137 AddressBookSyncEntry *AddressBookSyncee::createEntry( const KABC::Addressee &a )
00138 {
00139 if ( !a.isEmpty() ) {
00140 AddressBookSyncEntry *entry = new AddressBookSyncEntry( a );
00141 mEntries.append( entry );
00142 return entry;
00143 } else {
00144 return 0;
00145 }
00146 }
This file is part of the documentation for ksync Library Version 3.2.2.