Akonadi::Control Class

class Akonadi::Control

Provides methods to control the Akonadi server process. More...

Header: #include <Akonadi/Control>
CMake: find_package(KPim6 REQUIRED COMPONENTS AkonadiCore)
target_link_libraries(mytarget PRIVATE KPim6::AkonadiCore)

Public Functions

virtual ~Control() override

Static Public Members

bool restart()
bool start()
bool stop()

Protected Functions

Detailed Description

This class provides synchronous methods (ie. use a sub-eventloop) to control the Akonadi service. For asynchronous methods see Akonadi::ServerManager.

The most important method in here is widgetNeedsAkonadi(). It is recommended to call it with every top-level widget of your application as argument, assuming your application relies on Akonadi being operational of course.

While the Akonadi server automatically started by Akonadi::Session on first use, it might be necessary for some use-cases to guarantee a running Akonadi service at some point. This can be done using start().

Example:

 if ( !Akonadi::Control::start() ) {
   qDebug() << "Unable to start Akonadi server, exit application";
   return 1;
 } else {
   ...
 }

Author: Volker Krause <vkrause@kde.org>

See also Akonadi::ServerManager.

Member Function Documentation

[protected] Control::Control()

Creates the control object.

[override virtual noexcept] Control::~Control()

Destroys the control object.

[static] bool Control::restart()

Restarts the Akonadi server synchronously. Returns \ true if the restart was successful, \ false otherwise, the server state is undefined in this case.

[static] bool Control::start()

Starts the Akonadi server synchronously if it is not already running. Returns \ true if the server was started successfully or was already running, \ false otherwise

[static] bool Control::stop()

Stops the Akonadi server synchronously if it is currently running. Returns \ true if the server was shutdown successfully or was not running at all, \ false otherwise.