00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef AKONADI_SPECIALCOLLECTIONS_P_H
00021 #define AKONADI_SPECIALCOLLECTIONS_P_H
00022
00023 #include <QtCore/QHash>
00024 #include <QtCore/QString>
00025
00026 #include "akonadiprivate_export.h"
00027
00028 #include "akonadi/collection.h"
00029 #include <akonadi/collectionstatistics.h>
00030 #include <akonadi/item.h>
00031
00032 class KCoreConfigSkeleton;
00033 class KJob;
00034
00035 namespace Akonadi {
00036
00037 class AgentInstance;
00038 class SpecialCollections;
00039 class Monitor;
00040
00044 class AKONADI_TESTS_EXPORT SpecialCollectionsPrivate
00045 {
00046 public:
00047 SpecialCollectionsPrivate( KCoreConfigSkeleton *settings, SpecialCollections *qq );
00048 ~SpecialCollectionsPrivate();
00049
00050 QString defaultResourceId() const;
00051 void emitChanged( const QString &resourceId );
00052 void collectionRemoved( const Collection &collection );
00053 void collectionFetchJobFinished( KJob* );
00054 void collectionStatisticsChanged( Akonadi::Collection::Id, const Akonadi::CollectionStatistics& );
00055
00060 void forgetFoldersForResource( const QString &resourceId );
00061
00068 void beginBatchRegister();
00069
00074 void endBatchRegister();
00075
00076 AgentInstance defaultResource() const;
00077
00078 SpecialCollections *q;
00079 KCoreConfigSkeleton *mSettings;
00080 QHash<QString, QHash<QByteArray, Collection> > mFoldersForResource;
00081 bool mBatchMode;
00082 QSet<QString> mToEmitChangedFor;
00083 Monitor *mMonitor;
00084
00085 mutable QString mDefaultResourceId;
00086 };
00087
00088 }
00089
00090 #endif // AKONADI_SPECIALCOLLECTIONS_P_H