Akonadi::Server::ItemRetrievalManager

Search for usage in LXR

Akonadi::Server::ItemRetrievalManager Class Reference

#include <itemretrievalmanager.h>

Signals

void requestAdded ()
 
void requestFinished (const Akonadi::Server::ItemRetrievalResult &result)
 

Public Member Functions

virtual void requestItemDelivery (ItemRetrievalRequest request)
 
void triggerCollectionSync (const QString &resource, qint64 colId)
 
void triggerCollectionTreeSync (const QString &resource)
 

Protected Member Functions

 ItemRetrievalManager (QObject *parent=nullptr)
 
 ItemRetrievalManager (std::unique_ptr< AbstractItemRetrievalJobFactory > factory, QObject *parent=nullptr)
 

Protected Attributes

QHash< QString, AbstractItemRetrievalJob * > mCurrentJobs
 
std::unique_ptr< AbstractItemRetrievalJobFactory > mJobFactory
 
QReadWriteLock mLock
 
std::unordered_map< QString, std::list< ItemRetrievalRequest > > mPendingRequests
 
std::unordered_map< QString, std::unique_ptr< OrgFreedesktopAkonadiResourceInterface > > mResourceInterfaces
 
QWaitCondition mWaitCondition
 

Detailed Description

Manages and processes item retrieval requests.

Definition at line 45 of file itemretrievalmanager.h.

Constructor & Destructor Documentation

◆ ItemRetrievalManager() [1/2]

ItemRetrievalManager::ItemRetrievalManager ( QObject * parent = nullptr)
explicitprotected

Use AkThread::create() to create and start a new ItemRetrievalManager thread.

Definition at line 32 of file itemretrievalmanager.cpp.

◆ ItemRetrievalManager() [2/2]

ItemRetrievalManager::ItemRetrievalManager ( std::unique_ptr< AbstractItemRetrievalJobFactory > factory,
QObject * parent = nullptr )
explicitprotected

Definition at line 37 of file itemretrievalmanager.cpp.

◆ ~ItemRetrievalManager()

ItemRetrievalManager::~ItemRetrievalManager ( )
override

Definition at line 45 of file itemretrievalmanager.cpp.

Member Function Documentation

◆ requestItemDelivery()

void ItemRetrievalManager::requestItemDelivery ( ItemRetrievalRequest request)
virtual

Added for convenience.

ItemRetrievalManager takes ownership over the pointer and deletes it when the request is processed.

Definition at line 102 of file itemretrievalmanager.cpp.

◆ triggerCollectionSync()

void ItemRetrievalManager::triggerCollectionSync ( const QString & resource,
qint64 colId )

Definition at line 208 of file itemretrievalmanager.cpp.

◆ triggerCollectionTreeSync()

void ItemRetrievalManager::triggerCollectionTreeSync ( const QString & resource)

Definition at line 217 of file itemretrievalmanager.cpp.

Member Data Documentation

◆ mCurrentJobs

QHash<QString, AbstractItemRetrievalJob *> Akonadi::Server::ItemRetrievalManager::mCurrentJobs
protected

Currently running jobs, one per resource.

Definition at line 93 of file itemretrievalmanager.h.

◆ mJobFactory

std::unique_ptr<AbstractItemRetrievalJobFactory> Akonadi::Server::ItemRetrievalManager::mJobFactory
protected

Definition at line 83 of file itemretrievalmanager.h.

◆ mLock

QReadWriteLock Akonadi::Server::ItemRetrievalManager::mLock
protected

Protects mPendingRequests and every Request object posted to it.

Definition at line 86 of file itemretrievalmanager.h.

◆ mPendingRequests

std::unordered_map<QString, std::list<ItemRetrievalRequest> > Akonadi::Server::ItemRetrievalManager::mPendingRequests
protected

Pending requests queues, one per resource.

Definition at line 91 of file itemretrievalmanager.h.

◆ mResourceInterfaces

std::unordered_map<QString, std::unique_ptr<OrgFreedesktopAkonadiResourceInterface> > Akonadi::Server::ItemRetrievalManager::mResourceInterfaces
protected

Definition at line 96 of file itemretrievalmanager.h.

◆ mWaitCondition

QWaitCondition Akonadi::Server::ItemRetrievalManager::mWaitCondition
protected

Used to let requesting threads wait until the request has been processed.

Definition at line 88 of file itemretrievalmanager.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Oct 4 2024 11:57:22 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.