#include <handler.h>

Public Member Functions | |
bool | checkScopeConstraints (const Scope &scope, int permittedScopes) |
Protocol::CommandPtr | command () const |
Connection * | connection () const |
bool | failureResponse (const char *response) |
bool | failureResponse (const QByteArray &response) |
bool | failureResponse (const QString &response) |
virtual bool | parseStream ()=0 |
template<typename T > | |
void | sendResponse (T &&response) |
template<typename T > | |
void | sendResponse () |
void | setCommand (const Protocol::CommandPtr &cmd) |
void | setConnection (Connection *connection) |
void | setTag (quint64 tag) |
DataStore * | storageBackend () const |
template<typename T > | |
bool | successResponse () |
template<typename T > | |
bool | successResponse (T &&response) |
quint64 | tag () const |
Static Public Member Functions | |
static std::unique_ptr< Handler > | findHandlerForCommandAlwaysAllowed (Protocol::Command::Type cmd) |
static std::unique_ptr< Handler > | findHandlerForCommandAuthenticated (Protocol::Command::Type cmd) |
static std::unique_ptr< Handler > | findHandlerForCommandNonAuthenticated (Protocol::Command::Type cmd) |
Protected Attributes | |
Protocol::CommandPtr | m_command |
Detailed Description
The handler interfaces describes an entity capable of handling an AkonadiIMAP command.
Member Function Documentation
|
static |
Find a handler for a command that is always allowed, like LOGOUT.
- Parameters
-
cmd the command string
- Returns
- an instance to the handler. The handler is deleted after
- See also
- handelLine is executed. The caller needs to delete the handler in case an exception is thrown from handelLine.
Definition at line 69 of file handler.cpp.
|
static |
Find a handler for a command that is allowed when the client is authenticated, like LIST, FETCH, etc.
- Parameters
-
cmd the command string
- Returns
- an instance to the handler. The handler is deleted after
- See also
- handelLine is executed. The caller needs to delete the handler in case an exception is thrown from handelLine.
Definition at line 78 of file handler.cpp.
|
static |
Find a handler for a command that is allowed when the client is not yet authenticated, like LOGIN.
- Parameters
-
cmd the command string
- Returns
- an instance to the handler. The handler is deleted after
- See also
- handelLine is executed. The caller needs to delete the handler in case an exception is thrown from handelLine.
Definition at line 59 of file handler.cpp.
|
pure virtual |
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
Implemented in Akonadi::Server::ItemModifyHandler, Akonadi::Server::CollectionFetchHandler, Akonadi::Server::CollectionCopyHandler, Akonadi::Server::ItemCopyHandler, Akonadi::Server::ItemMoveHandler, Akonadi::Server::ItemCreateHandler, Akonadi::Server::ItemDeleteHandler, Akonadi::Server::CollectionDeleteHandler, Akonadi::Server::ResourceSelectHandler, Akonadi::Server::CollectionMoveHandler, Akonadi::Server::ItemLinkHandler, Akonadi::Server::SearchHandler, Akonadi::Server::CollectionModifyHandler, Akonadi::Server::ItemFetchHandler, Akonadi::Server::RelationFetchHandler, Akonadi::Server::SearchCreateHandler, Akonadi::Server::SearchResultHandler, Akonadi::Server::TagFetchHandler, Akonadi::Server::TransactionHandler, Akonadi::Server::CollectionStatsFetchHandler, Akonadi::Server::LoginHandler, and Akonadi::Server::LogoutHandler.
void Handler::setTag | ( | quint64 | tag | ) |
Set the tag of the command to be processed, and thus of the response generated by this handler.
- Parameters
-
tag The command tag, an alphanumerical string, normally.
Definition at line 199 of file handler.cpp.
quint64 Handler::tag | ( | ) | const |
The tag of the command associated with this handler.
Definition at line 204 of file handler.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2019 The KDE developers.
Generated on Mon Dec 9 2019 02:01:52 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.