• Skip to content
  • Skip to link menu
KDE 4.6 API Reference
  • KDE API Reference
  • KDE-PIM Libraries
  • KDE Home
  • Contact Us
 

akonadi

  • Akonadi
  • RecursiveItemFetchJob
Public Member Functions
Akonadi::RecursiveItemFetchJob Class Reference

Job that fetches all items of a collection recursive. More...

#include <recursiveitemfetchjob.h>

Inherits KJob.

List of all members.

Public Member Functions

 RecursiveItemFetchJob (const Akonadi::Collection &collection, const QStringList &mimeTypes, QObject *parent=0)
 ~RecursiveItemFetchJob ()
Akonadi::ItemFetchScope & fetchScope ()
Akonadi::Item::List items () const
void setFetchScope (const Akonadi::ItemFetchScope &fetchScope)
virtual void start ()

Detailed Description

Job that fetches all items of a collection recursive.

This job takes a collection as argument and returns a list of all items that are part of the passed collection and its child collections. The items to fetch can be filtered by mime types and the parts of the items that shall be fetched can be specified via an ItemFetchScope.

Example:

 // Assume the following Akonadi storage tree structure:
 //
 // Root Collection
 // |
 // +- Contacts
 // |  |
 // |  +- Private
 // |  |
 // |  `- Business
 // |
 // `- Events
 //
 // Collection 'Contacts' has the ID 15, then the following code
 // returns all contact items from 'Contacts', 'Private' and 'Business'.

 const Akonadi::Collection contactsCollection( 15 );
 const QStringList mimeTypes = QStringList() << KABC::Addressee::mimeType();

 Akonadi::RecursiveItemFetchJob *job = new Akonadi::RecursiveItemFetchJob( contactsCollection, mimeTypes );
 job->fetchScope().fetchFullPayload();
 connect( job, SIGNAL( result( KJob* ) ), this, SLOT( fetchResult( KJob* ) ) );

 job->start();

 ...

 MyClass::fetchResult( KJob *job )
 {
   Akonadi::RecursiveItemFetchJob *fetchJob = qobject_cast<Akonadi::RecursiveItemFetchJob*>( job );
   const Akonadi::Item::List items = fetchJob->items();
   // do something with the items
 }
Author:
Tobias Koenig <tokoe@kde.org>
Since:
4.6

Definition at line 84 of file recursiveitemfetchjob.h.


Constructor & Destructor Documentation

Akonadi::RecursiveItemFetchJob::RecursiveItemFetchJob ( const Akonadi::Collection &  collection,
const QStringList &  mimeTypes,
QObject *  parent = 0 
) [explicit]

Creates a new recursive item fetch job.

Parameters:
collectionThe collection that shall be fetched recursive.
mimeTypesThe list of mime types that will be used for filtering.
parentThe parent object.
Akonadi::RecursiveItemFetchJob::~RecursiveItemFetchJob ( )

Destroys the recursive item fetch job.


Member Function Documentation

ItemFetchScope & PreprocessorBase::fetchScope ( )

Returns the item fetch scope.

Since this returns a reference it can be used to conveniently modify the current scope in-place, i.e. by calling a method on the returned reference without storing it in a local variable. See the ItemFetchScope documentation for an example.

Returns:
a reference to the current item fetch scope
See also:
setFetchScope() for replacing the current item fetch scope

Definition at line 270 of file collectionfetchjob.cpp.

Item::List ItemSearchJob::items ( ) const

Returns the list of fetched items.

Definition at line 196 of file itemfetchjob.cpp.

void PreprocessorBase::setFetchScope ( const Akonadi::ItemFetchScope &  fetchScope)

Sets the item fetch scope.

The ItemFetchScope controls how much of an item's data is fetched from the server, e.g. whether to fetch the full item payload or only meta data.

Parameters:
fetchScopeThe new scope for item fetch operations.
See also:
fetchScope()

Definition at line 264 of file collectionfetchjob.cpp.

virtual void Akonadi::RecursiveItemFetchJob::start ( ) [virtual]

Starts the recursive item fetch job.


The documentation for this class was generated from the following files:
  • recursiveitemfetchjob.h
  • collectionfetchjob.cpp
  • itemfetchjob.cpp
  • itemmodifyjob.cpp
  • itemmonitor.cpp
  • itemsearchjob.cpp
  • preprocessorbase.cpp

akonadi

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

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kblog
  • kcal
  • kcalcore
  • kcalutils
  • kholidays
  • kimap
  • kioslave
  •   imap4
  •   mbox
  •   nntp
  • kldap
  • kmbox
  • kmime
  • kontactinterface
  • kpimidentities
  • kpimtextedit
  •   richtextbuilders
  • kpimutils
  • kresources
  • ktnef
  • kxmlrpcclient
  • mailtransport
  • microblog
  • qgpgme
  • syndication
  •   atom
  •   rdf
  •   rss2
Generated for KDE-PIM Libraries by doxygen 1.7.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal