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

akonadi

  • Akonadi
  • CachePolicy
Public Member Functions | List of all members
Akonadi::CachePolicy Class Reference

#include <cachepolicy.h>

Public Member Functions

 CachePolicy ()
 
 CachePolicy (const CachePolicy &other)
 
 ~CachePolicy ()
 
int cacheTimeout () const
 
bool inheritFromParent () const
 
int intervalCheckTime () const
 
QStringList localParts () const
 
CachePolicy & operator= (const CachePolicy &other)
 
bool operator== (const CachePolicy &other) const
 
void setCacheTimeout (int timeout)
 
void setInheritFromParent (bool inherit)
 
void setIntervalCheckTime (int time)
 
void setLocalParts (const QStringList &parts)
 
void setSyncOnDemand (bool enable)
 
bool syncOnDemand () const
 

Detailed Description

Represents the caching policy for a collection.

There is one cache policy per collection. It can either specify that all properties of the policy of the parent collection will be inherited (the default) or specify the following values:

  • The item parts that should be permanently kept locally and are downloaded during a collection sync (e.g. full mail vs. just the headers).
  • A minimum time for which non-permanently cached item parts have to be kept (0 - infinity).
  • Whether or not a collection sync is triggered on demand, i.e. as soon as it is accessed by a client.
  • An optional time interval for regular collection sync (aka interval mail check).

Syncing means fetching updates from the Akonadi database. The cache policy does not affect updates of the Akonadi database from the backend, since backend updates will normally immediately trigger the resource to update the Akonadi database.

The cache policy applies only to reading from the collection. Writing to the collection is independent of cache policy - all updates are written to the backend as soon as the resource can schedule this.

Akonadi::CachePolicy policy;
policy.setCacheTimeout( 30 );
policy.setIntervalCheckTime( 20 );
Akonadi::Collection collection = ...
collection.setCachePolicy( policy );
Todo:

Do we also need a size limit for the cache as well?

on a POP3 account, is should not be possible to change locally cached parts, find a solution for that

Author
Volker Krause vkrau.nosp@m.se@k.nosp@m.de.or.nosp@m.g

Definition at line 71 of file cachepolicy.h.

Constructor & Destructor Documentation

CachePolicy::CachePolicy ( )

Creates an empty cache policy.

Definition at line 56 of file cachepolicy.cpp.

CachePolicy::CachePolicy ( const CachePolicy &  other)

Creates a cache policy from an other cache policy.

Definition at line 61 of file cachepolicy.cpp.

CachePolicy::~CachePolicy ( )

Destroys the cache policy.

Definition at line 66 of file cachepolicy.cpp.

Member Function Documentation

int CachePolicy::cacheTimeout ( ) const

Returns the cache timeout for non-permanently cached parts in minutes; -1 means indefinitely.

Definition at line 107 of file cachepolicy.cpp.

bool CachePolicy::inheritFromParent ( ) const

Returns whether it inherits cache policy from the parent collection.

Definition at line 87 of file cachepolicy.cpp.

int CachePolicy::intervalCheckTime ( ) const

Returns the interval check time in minutes, -1 for never.

Definition at line 117 of file cachepolicy.cpp.

QStringList CachePolicy::localParts ( ) const

Returns the parts to permanently cache locally.

Definition at line 97 of file cachepolicy.cpp.

CachePolicy & CachePolicy::operator= ( const CachePolicy &  other)

.

Parameters
otherother cache policy

Definition at line 70 of file cachepolicy.cpp.

bool Akonadi::CachePolicy::operator== ( const CachePolicy &  other) const
Parameters
otherother cache policy

Definition at line 76 of file cachepolicy.cpp.

void CachePolicy::setCacheTimeout ( int  timeout)

Sets cache timeout for non-permanently cached parts.

Parameters
timeoutTimeout in minutes, -1 for indefinitely.

Definition at line 112 of file cachepolicy.cpp.

void CachePolicy::setInheritFromParent ( bool  inherit)

Sets whether the cache policy should be inherited from the parent collection.

Definition at line 92 of file cachepolicy.cpp.

void CachePolicy::setIntervalCheckTime ( int  time)

Sets interval check time.

Parameters
timeCheck time interval in minutes, -1 for never.

Definition at line 122 of file cachepolicy.cpp.

void CachePolicy::setLocalParts ( const QStringList &  parts)

Specifies the parts to permanently cache locally.

Definition at line 102 of file cachepolicy.cpp.

void CachePolicy::setSyncOnDemand ( bool  enable)

Sets whether the collection shall be synced automatically when necessary, i.e.

as soon as it is accessed by a client.

Parameters
enableIf true the collection is synced.

Definition at line 132 of file cachepolicy.cpp.

bool CachePolicy::syncOnDemand ( ) const

Returns whether the collection will be synced automatically when necessary, i.e.

as soon as it is accessed by a client.

Definition at line 127 of file cachepolicy.cpp.


The documentation for this class was generated from the following files:
  • cachepolicy.h
  • cachepolicy.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 23:00:28 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
  • kldap
  • kmbox
  • kmime
  • kpimidentities
  • kpimtextedit
  • kresources
  • ktnef
  • kxmlrpcclient
  • microblog

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