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

akonadi

  • Akonadi
  • CollectionModifyJob
Public Member Functions | Protected Member Functions
Akonadi::CollectionModifyJob Class Reference

#include <collectionmodifyjob.h>

Inheritance diagram for Akonadi::CollectionModifyJob:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 CollectionModifyJob (const Collection &collection, QObject *parent=0)
 ~CollectionModifyJob ()
Collection collection () const

Protected Member Functions

virtual void doStart ()

Detailed Description

Job that modifies a collection in the Akonadi storage.

This job modifies the properties of an existing collection.

 Akonadi::Collection collection = ...

 Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( collection );
 connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );

If the collection has attributes, it is recommended only to supply values for any attributes whose values are to be updated. This will help to avoid potential clashes with other resources or applications which may happen to update the collection simultaneously. To avoid supplying attribute values which are not needed, create a new instance of the collection and explicitly set attributes to be updated, e.g.

 // Update the 'MyAttribute' attribute of 'collection'.
 Akonadi::Collection c( collection.id() );
 MyAttribute *attribute = c.attribute<MyAttribute>( Entity::AddIfMissing );
 if ( collection.hasAttribute<MyAttribute>() ) {
     *attribute = *collection.attribute<MyAttribute>();
 }
 // Update the value of 'attribute' ...
 Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( c );
 connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );

To update only the collection, and not change any attributes:

 // Update the cache policy for 'collection' to 'newPolicy'.
 Akonadi::Collection c( collection.id() );
 c.setCachePolicy( newPolicy );
 Akonadi::CollectionModifyJob *job = new Akonadi::CollectionModifyJob( c );
 connect( job, SIGNAL(result(KJob*)), this, SLOT(modifyResult(KJob*)) );
Author:
Volker Krause <vkrause@kde.org>

Definition at line 82 of file collectionmodifyjob.h.


Constructor & Destructor Documentation

CollectionModifyJob::CollectionModifyJob ( const Collection &  collection,
QObject *  parent = 0 
) [explicit]

Creates a new collection modify job for the given collection.

The collection can be identified either by its unique identifier or its remote identifier. Since the remote identifier is not necessarily globally unique, identification by remote identifier only works inside a resource context (that is from within ResourceBase) and is therefore limited to one resource.

Parameters:
collectionThe collection to modify.
parentThe parent object.

Definition at line 46 of file collectionmodifyjob.cpp.

CollectionModifyJob::~CollectionModifyJob ( )

Destroys the collection modify job.

Definition at line 53 of file collectionmodifyjob.cpp.


Member Function Documentation

Collection CollectionModifyJob::collection ( ) const

Returns the modified collection.

Since:
4.4

Definition at line 100 of file collectionmodifyjob.cpp.

void CollectionModifyJob::doStart ( ) [protected, virtual]

This method must be reimplemented in the concrete jobs.

It will be called after the job has been started and a connection to the Akonadi backend has been established.

Implements Akonadi::Job.

Definition at line 57 of file collectionmodifyjob.cpp.


The documentation for this class was generated from the following files:
  • collectionmodifyjob.h
  • collectionmodifyjob.cpp

akonadi

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

KDE-PIM Libraries

Skip menu "KDE-PIM Libraries"
  • akonadi
  •   contact
  •   kmime
  • kabc
  • kalarmcal
  • 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.6.1
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