• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdepimlibs-4.14.10 API Reference
  • KDE Home
  • Contact Us
 

akonadi

  • akonadi
monitor.h
1/*
2 Copyright (c) 2006 - 2007 Volker Krause <vkrause@kde.org>
3
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
8
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 02110-1301, USA.
18*/
19
20#ifndef AKONADI_MONITOR_H
21#define AKONADI_MONITOR_H
22
23#include <akonadi/tag.h>
24#include <akonadi/collection.h>
25#include <akonadi/item.h>
26
27#include <QtCore/QObject>
28
29namespace Akonadi {
30
31class CollectionFetchScope;
32class CollectionStatistics;
33class Item;
34class ItemFetchScope;
35class MonitorPrivate;
36class Session;
37class TagFetchScope;
38
74class AKONADI_EXPORT Monitor : public QObject
75{
76 Q_OBJECT
77
78public:
79 enum Type {
83 Collections = 1,
84 Items,
85 Tags
86 };
87
93 explicit Monitor(QObject *parent = 0);
94
98 virtual ~Monitor();
99
115 void setCollectionMonitored(const Collection &collection, bool monitored = true);
116
126 void setItemMonitored(const Item &item, bool monitored = true);
127
139 void setResourceMonitored(const QByteArray &resource, bool monitored = true);
140
154 void setMimeTypeMonitored(const QString &mimetype, bool monitored = true);
155
165 void setTagMonitored(const Tag &tag, bool monitored = true);
166
177 void setTypeMonitored(Type type, bool monitored = true);
178
185 void setAllMonitored(bool monitored = true);
186
193 void ignoreSession(Session *session);
194
200 void fetchCollection(bool enable);
201
208 void fetchCollectionStatistics(bool enable);
209
220 void setItemFetchScope(const ItemFetchScope &fetchScope);
221
246 void fetchChangedOnly(bool enable);
247
260 ItemFetchScope &itemFetchScope();
261
273 void setCollectionFetchScope(const CollectionFetchScope &fetchScope);
274
288 CollectionFetchScope &collectionFetchScope();
289
299 void setTagFetchScope(const TagFetchScope &fetchScope);
300
312 TagFetchScope &tagFetchScope();
313
319 Collection::List collectionsMonitored() const;
320
328 AKONADI_DEPRECATED QList<Item::Id> itemsMonitored() const;
329
337 QVector<Item::Id> itemsMonitoredEx() const;
338
344 int numItemsMonitored() const;
345
351 QStringList mimeTypesMonitored() const;
352
358 int numMimeTypesMonitored() const;
359
365 QVector<Tag::Id> tagsMonitored() const;
366
372 QVector<Type> typesMonitored() const;
373
379 QList<QByteArray> resourcesMonitored() const;
380
386 int numResourcesMonitored() const;
387
393 bool isAllMonitored() const;
394
401 void setSession(Akonadi::Session *session);
402
408 Session *session() const;
409
417 void setCollectionMoveTranslationEnabled(bool enabled);
418
419Q_SIGNALS:
426 void itemChanged(const Akonadi::Item &item, const QSet<QByteArray> &partIdentifiers);
427
436 void itemsFlagsChanged(const Akonadi::Item::List &items, const QSet<QByteArray> &addedFlags,
437 const QSet<QByteArray> &removedFlags);
438
447 void itemsTagsChanged(const Akonadi::Item::List &items, const QSet<Akonadi::Tag> &addedTags,
448 const QSet<Akonadi::Tag> &removedTags);
449
457 void itemMoved(const Akonadi::Item &item, const Akonadi::Collection &collectionSource,
458 const Akonadi::Collection &collectionDestination);
459
469 void itemsMoved(const Akonadi::Item::List &items, const Akonadi::Collection &collectionSource,
470 const Akonadi::Collection &collectionDestination);
471
478 void itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection);
479
488 void itemRemoved(const Akonadi::Item &item);
489
498 void itemsRemoved(const Akonadi::Item::List &items);
499
507 void itemLinked(const Akonadi::Item &item, const Akonadi::Collection &collection);
508
517 void itemsLinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection);
518
526 void itemUnlinked(const Akonadi::Item &item, const Akonadi::Collection &collection);
527
536 void itemsUnlinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection);
537
544 void collectionAdded(const Akonadi::Collection &collection, const Akonadi::Collection &parent);
545
551 void collectionChanged(const Akonadi::Collection &collection);
552
561 void collectionChanged(const Akonadi::Collection &collection, const QSet<QByteArray> &attributeNames);
562
572 void collectionMoved(const Akonadi::Collection &collection, const Akonadi::Collection &source, const Akonadi::Collection &destination);
573
579 void collectionRemoved(const Akonadi::Collection &collection);
580
591 void collectionSubscribed(const Akonadi::Collection &collection, const Akonadi::Collection &parent);
592
600 void collectionUnsubscribed(const Akonadi::Collection &collection);
601
610 void collectionStatisticsChanged(Akonadi::Collection::Id id,
611 const Akonadi::CollectionStatistics &statistics);
612
619 void tagAdded(const Akonadi::Tag &tag);
620
627 void tagChanged(const Akonadi::Tag &tag);
628
638 void tagRemoved(const Akonadi::Tag &tag);
639
647 void collectionMonitored(const Akonadi::Collection &collection, bool monitored);
648
656 void itemMonitored(const Akonadi::Item &item, bool monitored);
657
665 void resourceMonitored(const QByteArray &identifier, bool monitored);
666
674 void mimeTypeMonitored(const QString &mimeType, bool monitored);
675
682 void allMonitored(bool monitored);
683
690 void tagMonitored(const Akonadi::Tag &tag, bool monitored);
691
698 void typeMonitored(const Akonadi::Monitor::Type type, bool monitored);
699
700protected:
701 //@cond PRIVATE
702 friend class EntityTreeModel;
703 friend class EntityTreeModelPrivate;
704 MonitorPrivate *d_ptr;
705 explicit Monitor(MonitorPrivate *d, QObject *parent = 0);
706 //@endcond
707
708private:
709 Q_DECLARE_PRIVATE(Monitor)
710
711 //@cond PRIVATE
712 Q_PRIVATE_SLOT(d_ptr, void slotSessionDestroyed(QObject *))
713 Q_PRIVATE_SLOT(d_ptr, void slotStatisticsChangedFinished(KJob *))
714 Q_PRIVATE_SLOT(d_ptr, void slotFlushRecentlyChangedCollections())
715 Q_PRIVATE_SLOT(d_ptr, void slotNotify(const Akonadi::NotificationMessageV3::List &))
716 Q_PRIVATE_SLOT(d_ptr, void dataAvailable())
717 Q_PRIVATE_SLOT(d_ptr, void serverStateChanged(Akonadi::ServerManager::State))
718 Q_PRIVATE_SLOT(d_ptr, void invalidateCollectionCache(qint64))
719 Q_PRIVATE_SLOT(d_ptr, void invalidateItemCache(qint64))
720 Q_PRIVATE_SLOT(d_ptr, void invalidateTagCache(qint64))
721
722 friend class ResourceBasePrivate;
723 //@endcond
724};
725
726}
727
728#endif
Akonadi::CollectionFetchScope
Specifies which parts of a collection should be fetched from the Akonadi storage.
Definition: collectionfetchscope.h:69
Akonadi::CollectionStatistics
Provides statistics information of a Collection.
Definition: collectionstatistics.h:70
Akonadi::Collection
Represents a collection of PIM items.
Definition: collection.h:76
Akonadi::Collection::List
QList< Collection > List
Describes a list of collections.
Definition: collection.h:81
Akonadi::EntityTreeModelPrivate
Definition: entitytreemodel_p.h:60
Akonadi::EntityTreeModel
A model for collections and items together.
Definition: entitytreemodel.h:319
Akonadi::Entity::Id
qint64 Id
Describes the unique id type.
Definition: entity.h:65
Akonadi::ItemFetchScope
Specifies which parts of an item should be fetched from the Akonadi storage.
Definition: itemfetchscope.h:70
Akonadi::MonitorPrivate
Definition: monitor_p.h:52
Akonadi::Monitor
Monitors an item or collection for changes.
Definition: monitor.h:75
Akonadi::Monitor::itemsTagsChanged
void itemsTagsChanged(const Akonadi::Item::List &items, const QSet< Akonadi::Tag > &addedTags, const QSet< Akonadi::Tag > &removedTags)
This signal is emitted if tags of monitored items have changed.
Akonadi::Monitor::itemChanged
void itemChanged(const Akonadi::Item &item, const QSet< QByteArray > &partIdentifiers)
This signal is emitted if a monitored item has changed, e.g.
Akonadi::Monitor::collectionMoved
void collectionMoved(const Akonadi::Collection &collection, const Akonadi::Collection &source, const Akonadi::Collection &destination)
This signals is emitted if a monitored collection has been moved.
Akonadi::Monitor::collectionUnsubscribed
void collectionUnsubscribed(const Akonadi::Collection &collection)
This signal is emitted if a user unsubscribes from a collection.
Akonadi::Monitor::allMonitored
void allMonitored(bool monitored)
This signal is emitted if the Monitor starts or stops monitoring everything.
Akonadi::Monitor::itemLinked
void itemLinked(const Akonadi::Item &item, const Akonadi::Collection &collection)
This signal is emitted if a reference to an item is added to a virtual collection.
Akonadi::Monitor::collectionMonitored
void collectionMonitored(const Akonadi::Collection &collection, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring collection explicitly.
Akonadi::Monitor::itemRemoved
void itemRemoved(const Akonadi::Item &item)
This signal is emitted if.
Akonadi::Monitor::tagRemoved
void tagRemoved(const Akonadi::Tag &tag)
This signal is emitted if a monitored tag is removed from the server storage.
Akonadi::Monitor::itemMonitored
void itemMonitored(const Akonadi::Item &item, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring item explicitly.
Akonadi::Monitor::tagChanged
void tagChanged(const Akonadi::Tag &tag)
This signal is emitted if a monitored tag is changed on the server.
Akonadi::Monitor::collectionSubscribed
void collectionSubscribed(const Akonadi::Collection &collection, const Akonadi::Collection &parent)
This signal is emitted if a collection has been subscribed to by the user.
Akonadi::Monitor::tagAdded
void tagAdded(const Akonadi::Tag &tag)
This signal is emitted if a tag has been added to Akonadi storage.
Akonadi::Monitor::itemsFlagsChanged
void itemsFlagsChanged(const Akonadi::Item::List &items, const QSet< QByteArray > &addedFlags, const QSet< QByteArray > &removedFlags)
This signal is emitted if flags of monitored items have changed.
Akonadi::Monitor::resourceMonitored
void resourceMonitored(const QByteArray &identifier, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring the resource with the identifier ide...
Akonadi::Monitor::collectionRemoved
void collectionRemoved(const Akonadi::Collection &collection)
This signal is emitted if a monitored collection has been removed from the Akonadi storage.
Akonadi::Monitor::collectionChanged
void collectionChanged(const Akonadi::Collection &collection, const QSet< QByteArray > &attributeNames)
This signal is emitted if a monitored collection has been changed (properties or attributes).
Akonadi::Monitor::itemsRemoved
void itemsRemoved(const Akonadi::Item::List &items)
This signal is emitted if monitored items have been removed from Akonadi storage of items have been r...
Akonadi::Monitor::itemAdded
void itemAdded(const Akonadi::Item &item, const Akonadi::Collection &collection)
This signal is emitted if an item has been added to a monitored collection in the Akonadi storage.
Akonadi::Monitor::itemsUnlinked
void itemsUnlinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection)
This signal is emitted if a refernece to items is removed from a virtual collection.
Akonadi::Monitor::mimeTypeMonitored
void mimeTypeMonitored(const QString &mimeType, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring mimeType explicitly.
Akonadi::Monitor::collectionStatisticsChanged
void collectionStatisticsChanged(Akonadi::Collection::Id id, const Akonadi::CollectionStatistics &statistics)
This signal is emitted if the statistics information of a monitored collection has changed.
Akonadi::Monitor::Type
Type
Definition: monitor.h:79
Akonadi::Monitor::typeMonitored
void typeMonitored(const Akonadi::Monitor::Type type, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring type explicitly.
Akonadi::Monitor::collectionAdded
void collectionAdded(const Akonadi::Collection &collection, const Akonadi::Collection &parent)
This signal is emitted if a new collection has been added to a monitored collection in the Akonadi st...
Akonadi::Monitor::itemMoved
void itemMoved(const Akonadi::Item &item, const Akonadi::Collection &collectionSource, const Akonadi::Collection &collectionDestination)
This signal is emitted if a monitored item has been moved between two collections.
Akonadi::Monitor::itemsLinked
void itemsLinked(const Akonadi::Item::List &items, const Akonadi::Collection &collection)
This signal is emitted if a reference to multiple items is added to a virtual collection.
Akonadi::Monitor::tagMonitored
void tagMonitored(const Akonadi::Tag &tag, bool monitored)
This signal is emitted if the Monitor starts or stops monitoring tag explicitly.
Akonadi::Monitor::collectionChanged
void collectionChanged(const Akonadi::Collection &collection)
This signal is emitted if a monitored collection has been changed (properties or content).
Akonadi::Monitor::itemsMoved
void itemsMoved(const Akonadi::Item::List &items, const Akonadi::Collection &collectionSource, const Akonadi::Collection &collectionDestination)
This is signal is emitted when multiple monitored items have been moved between two collections.
Akonadi::Monitor::itemUnlinked
void itemUnlinked(const Akonadi::Item &item, const Akonadi::Collection &collection)
This signal is emitted if a reference to an item is removed from a virtual collection.
Akonadi::ServerManager
Provides methods to control the Akonadi server process.
Definition: servermanager.h:43
Akonadi::Session
A communication session with the Akonadi storage.
Definition: session.h:60
Akonadi::TagFetchScope
Specifies which parts of a tag should be fetched from the Akonadi storage.
Definition: tagfetchscope.h:34
Akonadi::Tag
An Akonadi Tag.
Definition: tag.h:44
Akonadi
FreeBusyManager::Singleton.
Definition: actionstatemanager_p.h:28
This file is part of the KDE documentation.
Documentation copyright © 1996-2022 The KDE developers.
Generated on Thu Jul 21 2022 00:00:00 by doxygen 1.9.5 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

akonadi

Skip menu "akonadi"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • Modules
  • Related Pages

kdepimlibs-4.14.10 API Reference

Skip menu "kdepimlibs-4.14.10 API Reference"
  • akonadi
  •   contact
  •   kmime
  •   socialutils
  • kabc
  • kalarmcal
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal