akonadi
collectionsync.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_COLLECTIONSYNC_H
00021 #define AKONADI_COLLECTIONSYNC_H
00022
00023 #include <akonadi/collection.h>
00024 #include <akonadi/transactionsequence.h>
00025
00026 namespace Akonadi {
00027
00033 class CollectionSync : public TransactionSequence
00034 {
00035 Q_OBJECT
00036
00037 public:
00043 explicit CollectionSync( const QString &resourceId, QObject *parent = 0 );
00044
00048 ~CollectionSync();
00049
00056 void setRemoteCollections( const Collection::List &remoteCollections );
00057
00063 void setRemoteCollections( const Collection::List &changedCollections,
00064 const Collection::List &removedCollections );
00065
00066 protected:
00067 void doStart();
00068
00069 private:
00070 void createLocalCollection( const Collection &c, const Collection &parent );
00071 void checkDone();
00072
00073 private Q_SLOTS:
00074 void slotLocalListDone( KJob *job );
00075 void slotLocalCreateDone( KJob *job );
00076 void slotLocalChangeDone( KJob *job );
00077
00078 private:
00079 class Private;
00080 Private* const d;
00081 };
00082
00083 }
00084
00085 #endif