class Service


Module nepomuk
Namespace Nepomuk
Class Service
Inherits QObject
\class Service nepomukservice.h Nepomuk/Service

Base class for all Nepomuk services.

A %Nepomuk service is intended to perform some kind of operation on the %Nepomuk data storage. This can include data gathering, data enrichment, or enhanced data query.

%Nepomuk services are started and managed by the %Nepomuk server. Very much like KDED modules a %Nepomuk service has autostart and start-on-demand properties. In addition a %Nepomuk service can define an arbitrary number of dependencies which are necessary to run the service. These dependencies name other services.

To create a new %Nepomuk service one derives a new class from Nepomuk.Service and exports it as a standard KDE module, i.e. plugin.

class MyService : public Nepomuk.Service
{
// do fancy stuff
};

Export it as a %Nepomuk service plugin:

_SERVICE(MyService, "mynepomukservice")

A desktop file describes the service's properties:

[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=NepomukService
X-KDE-Library=mynepomukservice
X-KDE-Nepomuk-autostart=true
X-KDE-Nepomuk-start-on-demand=false
# Dependencies default to 'nepomukstorage'
X-KDE-Nepomuk-dependencies=nepomukfoobar
Name=My fancy Nepomuk Service
Comment=A Nepomuk service that does fancy things

The %Nepomuk server will automatically export all D-Bus interfaces defined on the service instance. Thus, the simplest way to export methods via D-Bus is by marking them with .

Author Sebastian Trueg

\since 4.1



methods