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

akonadi

  • sources
  • kde-4.14
  • kdepimlibs
  • 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 
29 namespace Akonadi {
30 
31 class CollectionFetchScope;
32 class CollectionStatistics;
33 class Item;
34 class ItemFetchScope;
35 class MonitorPrivate;
36 class Session;
37 class TagFetchScope;
38 
74 class AKONADI_EXPORT Monitor : public QObject
75 {
76  Q_OBJECT
77 
78 public:
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 
419 Q_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 
700 protected:
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 
708 private:
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::CollectionStatistics
Provides statistics information of a Collection.
Definition: collectionstatistics.h:69
QByteArray
Akonadi::CollectionFetchScope
Specifies which parts of a collection should be fetched from the Akonadi storage. ...
Definition: collectionfetchscope.h:68
Akonadi::TagFetchScope
Specifies which parts of a tag should be fetched from the Akonadi storage.
Definition: tagfetchscope.h:33
Akonadi::Collection
Represents a collection of PIM items.
Definition: collection.h:75
Akonadi::Entity::Id
qint64 Id
Describes the unique id type.
Definition: entity.h:65
Akonadi::ServerManager
Provides methods to control the Akonadi server process.
Definition: servermanager.h:42
QObject
Akonadi::Session
A communication session with the Akonadi storage.
Definition: session.h:59
QSet< QByteArray >
QString
QList
QStringList
Akonadi::Monitor::Type
Type
Definition: monitor.h:79
Akonadi::ItemFetchScope
Specifies which parts of an item should be fetched from the Akonadi storage.
Definition: itemfetchscope.h:69
Akonadi::Monitor
Monitors an item or collection for changes.
Definition: monitor.h:74
Akonadi::MonitorPrivate
Definition: monitor_p.h:51
QVector
Definition: kcolumnfilterproxymodel_p.h:27
Akonadi::EntityTreeModel
A model for collections and items together.
Definition: entitytreemodel.h:318
Akonadi::Tag
An Akonadi Tag.
Definition: tag.h:43
Akonadi::EntityTreeModelPrivate
Definition: entitytreemodel_p.h:59
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:38:03 by doxygen 1.8.7 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 API Reference

Skip menu "kdepimlibs 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

Search



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