KDE 4.7 PyKDE API Reference

- KDE's Python API

# KDBusServiceStarter Class Reference

`from PyKDE4.kio import *`

## Detailed Description

A generic DBUS service starter, using KServiceTypeTrader. The default implementation starts new processes, but this interface can also be reimplemented by specific applications to provide dlopened in-process DBus objects. This interface is similar to the startServiceByName() function found in QDBusBusService, but with the added benefit of using KTrader (and, therefore, additional constraints and the ability to search the standard KDE dirs).

Author:
  David Faure <faure@kde.org>

## Methods

| __init__ (self)
int | findServiceFor (self, QString serviceType, QString constraint=QString(), QString error=0, QString dbusService=0, int flags=0)
int | startServiceFor (self, QString serviceType, QString constraint=QString(), QString error=0, QString dbusService=0, int flags=0)

## Static Methods

KDBusServiceStarter | self ()

## Method Documentation

__init__ | ( |  | self ) |

int findServiceFor | ( | self, |
|  | QString | serviceType,
|  | QString | constraint=QString(),
|  | QString | error=0,
|  | QString | dbusService=0,
|  | int | flags=0
| ) |  |  |

Check if a given DBus service is available - from the serviceType it's supposed to implement.

The trader is queried to find the preferred application for this serviceType, with the constraint that its X-DBus-ServiceName property must be defined. Then the DBus server is checked. If the service is not available, this method will call startServiceFor to start it.

Parameters:

  | serviceType | the type of service we're looking for
  | constraint | see KServiceTypeTrader
  | error | On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
  | dbusService | On success, dbusService contains the DBus service name under which this service is available. If the pointer is 0 the argument will be ignored
  | flags | for future extensions (currently unused)

Returns:
  an error code indicating success (== 0) or failure (> 0).

int startServiceFor | ( | self, |
|  | QString | serviceType,
|  | QString | constraint=QString(),
|  | QString | error=0,
|  | QString | dbusService=0,
|  | int | flags=0
| ) |  |  |

Find an implementation of the given serviceType, and start it, to use its DBus interface. The default implementation uses KServiceTypeTrader to find the preferred Application, and then starts it using KToolInvocation.startService...

However applications (like kontact) can reimplement this method, to provide an in-process way of loading the implementation for this service type.

Parameters:

  | serviceType | the type of service we're looking for
  | constraint | see KServiceTypeTrader
  | error | On failure, error contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
  | dbusService | On success, dbusService contains the DBus service name under which this service is available. If the pointer is 0 the argument will be ignored
  | flags | for future extensions (currently unused)

Returns:
  an error code indicating success (== 0) or failure (> 0).

## Static Method Documentation

KDBusServiceStarter self | ( |  | ) |