Akonadi::CachePolicy
#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.
- 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
Definition at line 59 of file cachepolicy.h.
Constructor & Destructor Documentation
◆ CachePolicy() [1/2]
CachePolicy::CachePolicy | ( | ) |
Creates an empty cache policy.
Definition at line 25 of file cachepolicy.cpp.
◆ CachePolicy() [2/2]
CachePolicy::CachePolicy | ( | const CachePolicy & | other | ) |
Creates a cache policy from an other
cache policy.
Definition at line 31 of file cachepolicy.cpp.
◆ ~CachePolicy()
CachePolicy::~CachePolicy | ( | ) |
Destroys the cache policy.
Definition at line 36 of file cachepolicy.cpp.
Member Function Documentation
◆ cacheTimeout()
|
nodiscard |
Returns the cache timeout for non-permanently cached parts in minutes; -1 means indefinitely.
Definition at line 75 of file cachepolicy.cpp.
◆ inheritFromParent()
bool CachePolicy::inheritFromParent | ( | ) | const |
Returns whether it inherits cache policy from the parent collection.
Definition at line 55 of file cachepolicy.cpp.
◆ intervalCheckTime()
|
nodiscard |
Returns the interval check time in minutes, -1 for never.
Definition at line 85 of file cachepolicy.cpp.
◆ localParts()
|
nodiscard |
Returns the parts to permanently cache locally.
Definition at line 65 of file cachepolicy.cpp.
◆ operator=()
CachePolicy & CachePolicy::operator= | ( | const CachePolicy & | other | ) |
◆ operator==()
|
nodiscard |
- Parameters
-
other other cache policy
Definition at line 46 of file cachepolicy.cpp.
◆ setCacheTimeout()
void CachePolicy::setCacheTimeout | ( | int | timeout | ) |
Sets cache timeout for non-permanently cached parts.
- Parameters
-
timeout Timeout in minutes, -1 for indefinitely.
Definition at line 80 of file cachepolicy.cpp.
◆ setInheritFromParent()
void CachePolicy::setInheritFromParent | ( | bool | inherit | ) |
Sets whether the cache policy should be inherited from the parent collection.
Definition at line 60 of file cachepolicy.cpp.
◆ setIntervalCheckTime()
void CachePolicy::setIntervalCheckTime | ( | int | time | ) |
Sets interval check time.
- Parameters
-
time Check time interval in minutes, -1 for never.
Definition at line 90 of file cachepolicy.cpp.
◆ setLocalParts()
void CachePolicy::setLocalParts | ( | const QStringList & | parts | ) |
Specifies the parts to permanently cache locally.
Definition at line 70 of file cachepolicy.cpp.
◆ setSyncOnDemand()
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
-
enable If true
the collection is synced.
Definition at line 100 of file cachepolicy.cpp.
◆ syncOnDemand()
|
nodiscard |
Returns whether the collection will be synced automatically when necessary, i.e.
as soon as it is accessed by a client.
Definition at line 95 of file cachepolicy.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Sat Dec 21 2024 17:01:42 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.