From 60a6886f06be31ec690df34dc8e3b8931c2d3bd7 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Mon, 02 Aug 2004 18:33:07 +0000 Subject: added support for syncable resources --- (limited to 'kabc/resource.h') diff --git a/kabc/resource.h b/kabc/resource.h index c363125..db806a6 100644 --- a/kabc/resource.h +++ b/kabc/resource.h @@ -30,13 +30,16 @@ $Id$ #include + #include "addressbook.h" +class KSyncProfile; + namespace KABC { /** * @short Helper class for handling coordinated save of address books. - * + * * This class is used as helper class for saving address book. * @see requestSaveTicket(), save(). */ @@ -46,9 +49,9 @@ class Ticket public: Resource *resource() { return mResource; } - private: + private: Ticket( Resource *resource ) : mResource( resource ) {} - + Resource *mResource; }; @@ -57,11 +60,17 @@ class Ticket */ class Resource : public KRES::Resource { +private: + /** + * make this constructor private to force everybody to use the other one + */ + Resource( const KConfig *config); + public: /** * Constructor */ - Resource( const KConfig *config ); + Resource( const KConfig *config, bool syncable ); /** * Destructor. @@ -88,17 +97,13 @@ public: */ virtual bool doOpen(); - /** - * Close the resource and returns if it was successfully - */ - virtual void doClose(); - + /** * Request a ticket, you have to pass through @ref save() to * allow locking. */ virtual Ticket *requestSaveTicket(); - + /** * Load all addressees to the addressbook */ @@ -117,18 +122,59 @@ public: */ virtual void removeAddressee( const Addressee& addr ); + /** * This method is called by an error handler if the application * crashed */ virtual void cleanUp(); + + /** + * This method returns the number of elements that are currently in the resource. + */ + virtual int count() const; + + /** + * This method removes all elements from the resource!! (Not from the addressbook) + */ + virtual bool clear(); + + /** + * Set name of file to be used for saving. + */ + virtual void setFileName( const QString & ); + + /** + * Return name of file used for loading and saving the address book. + */ + virtual QString fileName() const; + + + virtual bool isSyncable() const; + + /** + * Set the name of resource.You can override this method, + * but also remember to call Resource::setResourceName(). + */ + virtual void setResourceName( const QString &name ); + + + protected: Ticket *createTicket( Resource * ); + virtual void doClose(); private: AddressBook *mAddressBook; + KSyncProfile *mSyncProfile; + QString mFileName; + }; + } + + + #endif -- cgit v0.9.0.2