Akonadi::Server::CollectionFetchHandler

Search for usage in LXR

Akonadi::Server::CollectionFetchHandler Class Reference

#include <collectionfetchhandler.h>

Inheritance diagram for Akonadi::Server::CollectionFetchHandler:

Public Member Functions

 CollectionFetchHandler (AkonadiServer &akonadi)
 
bool parseStream () override
 
- Public Member Functions inherited from Akonadi::Server::Handler
 Handler (const Handler &)=delete
 
 Handler (Handler &&) noexcept=delete
 
AkonadiServer & akonadi () const
 
bool checkScopeConstraints (const Scope &scope, const QList< Scope::SelectionScope > &permittedScopes) const
 
Protocol::CommandPtr command () const
 
Connectionconnection () const
 
bool failureResponse (const char *response)
 
bool failureResponse (const QByteArray &response)
 
bool failureResponse (const QString &response)
 
Handleroperator= (const Handler &)=delete
 
Handleroperator= (Handler &&) noexcept=delete
 
template<typename T >
void sendResponse ()
 
template<typename T >
void sendResponse (T &&response)
 
void setCommand (const Protocol::CommandPtr &cmd)
 
void setConnection (Connection *connection)
 
void setTag (quint64 tag)
 
DataStorestorageBackend () const
 
template<typename T >
bool successResponse ()
 
template<typename T >
bool successResponse (T &&response)
 
quint64 tag () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Akonadi::Server::Handler
static std::unique_ptr< HandlerfindHandlerForCommandAlwaysAllowed (Protocol::Command::Type cmd, AkonadiServer &akonadi)
 
static std::unique_ptr< HandlerfindHandlerForCommandAuthenticated (Protocol::Command::Type cmd, AkonadiServer &akonadi)
 
static std::unique_ptr< HandlerfindHandlerForCommandNonAuthenticated (Protocol::Command::Type cmd, AkonadiServer &akonadi)
 
- Protected Member Functions inherited from Akonadi::Server::Handler
 Handler (AkonadiServer &akonadi)
 
- Protected Attributes inherited from Akonadi::Server::Handler
Protocol::CommandPtr m_command
 

Detailed Description

Handler for the LIST command.

This command is used to get a (limited) listing of the available collections. It is different from the LIST command and is more similar to FETCH.

The RID command prefix indicates that collection-id is a remote identifier instead of a unique identifier. In this case a resource context has to be specified previously using the RESSELECT command.

depths chooses between recursive (INF), flat (1) and local (0, ie. just the base collection) listing, 0 indicates the root collection.

The filter-list is used to restrict the listing to collection of a specific resource or content type.

The option-list allows to specify the response content to some extend:

  • STATISTICS (boolean) allows to include the collection statistics (see Status)
  • ANCESTORDEPTH (numeric) allows you to specify the number of ancestor nodes that should be included additionally to the parent-id included anyway. Possible values are 0 (the default), 1 for the direct parent node and INF for all, terminating with the root collection.

The name is encoded as an quoted UTF-8 string. There is no order defined for the single responses.

The ancestors property is encoded as a list of UID/RID pairs.

Definition at line 49 of file collectionfetchhandler.h.

Constructor & Destructor Documentation

◆ CollectionFetchHandler()

CollectionFetchHandler::CollectionFetchHandler ( AkonadiServer & akonadi)

Definition at line 37 of file collectionfetchhandler.cpp.

Member Function Documentation

◆ parseStream()

bool CollectionFetchHandler::parseStream ( )
overridevirtual

Parse and handle the IMAP message using the streaming parser.

The implementation MUST leave the trailing newline character(s) in the stream!

Returns
true if parsed successfully, false in case of parse failure

Implements Akonadi::Server::Handler.

Definition at line 459 of file collectionfetchhandler.cpp.


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 Mon Nov 4 2024 16:31:59 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.