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 }