# 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 <trueg@kde.org>

\since 4.1

### methods

- Service (parent, delayedInitialization)

  returns ctor

  Argument | Type | Default
  --- | --- | ---
  parent | QObject | 0
  delayedInitialization | bool | 0

  Create a new Service.

  parent - The parent object

  delayedInitialization - If true the service will not be usable until setServiceInitialized has been called. This allows to design services that need to perform long initialization tasks.

- mainModel ( )

  returns Soprano.Model

  Returns A wrapper model which provides a connection to the %Nepomuk server.

- setServiceInitialized (succcess)

  returns Nothing

  Argument | Type | Default
  --- | --- | ---
  succcess | bool |

  A %Nepomuk service can make use of a warmup phase in which it is not usable yet. Call this method once your service is fully initialized.

  Most services do not need to call this method.

  success - Set to true if initialization was successful, false otherwise.

  See also Service.Service