akonadi
collectionfetchjob.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_COLLECTIONFETCHJOB_H
00021 #define AKONADI_COLLECTIONFETCHJOB_H
00022
00023 #include "akonadi_export.h"
00024 #include <akonadi/collection.h>
00025 #include <akonadi/job.h>
00026
00027 namespace Akonadi {
00028
00029 class CollectionFetchJobPrivate;
00030
00054 class AKONADI_EXPORT CollectionFetchJob : public Job
00055 {
00056 Q_OBJECT
00057
00058 public:
00062 enum Type
00063 {
00064 Base,
00065 FirstLevel,
00066 Recursive
00067 };
00068
00081 explicit CollectionFetchJob( const Collection &collection, Type type = FirstLevel, QObject *parent = 0 );
00082
00090 explicit CollectionFetchJob( const Collection::List &collections, QObject *parent = 0 );
00091
00095 virtual ~CollectionFetchJob();
00096
00100 Collection::List collections() const;
00101
00107 void setResource( const QString &resource );
00108
00112 void includeUnsubscribed( bool include = true );
00113
00119 void includeStatistics( bool include = true );
00120
00121 Q_SIGNALS:
00127 void collectionsReceived( const Akonadi::Collection::List &collections );
00128
00129 protected:
00130 virtual void doStart();
00131 virtual void doHandleResponse( const QByteArray &tag, const QByteArray &data );
00132
00133 protected Q_SLOTS:
00134
00135 void slotResult( KJob* job );
00136
00137
00138 private:
00139 Q_DECLARE_PRIVATE( CollectionFetchJob )
00140
00141
00142 Q_PRIVATE_SLOT( d_func(), void timeout() )
00143
00144 };
00145
00146 }
00147
00148 #endif