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 CollectionFetchScope;
00030 class CollectionFetchJobPrivate;
00031
00053 class AKONADI_EXPORT CollectionFetchJob : public Job
00054 {
00055 Q_OBJECT
00056
00057 public:
00061 enum Type
00062 {
00063 Base,
00064 FirstLevel,
00065 Recursive
00066 };
00067
00080 explicit CollectionFetchJob( const Collection &collection, Type type = FirstLevel, QObject *parent = 0 );
00081
00090 explicit CollectionFetchJob( const Collection::List &collections, QObject *parent = 0 );
00091
00095 virtual ~CollectionFetchJob();
00096
00100 Collection::List collections() const;
00101
00108 KDE_DEPRECATED void setResource( const QString &resource );
00109
00114 KDE_DEPRECATED void includeUnsubscribed( bool include = true );
00115
00122 KDE_DEPRECATED void includeStatistics( bool include = true );
00123
00136 void setFetchScope( const CollectionFetchScope &fetchScope );
00137
00151 CollectionFetchScope &fetchScope();
00152
00153 Q_SIGNALS:
00159 void collectionsReceived( const Akonadi::Collection::List &collections );
00160
00161 protected:
00162 virtual void doStart();
00163 virtual void doHandleResponse( const QByteArray &tag, const QByteArray &data );
00164
00165 protected Q_SLOTS:
00166
00167 void slotResult( KJob* job );
00168
00169
00170 private:
00171 Q_DECLARE_PRIVATE( CollectionFetchJob )
00172
00173
00174 Q_PRIVATE_SLOT( d_func(), void timeout() )
00175
00176 };
00177
00178 }
00179
00180 #endif