KDCOPServiceStarter Class Reference

`#include <kdcopservicestarter.h>`

## Public Member Functions

int | findServiceFor (const QString &serviceType, const QString &constraint=QString::null, const QString &preferences=QString::null, QString *error=0, QCString *dcopService=0, int flags=0)
virtual int | startServiceFor (const QString &serviceType, const QString &constraint=QString::null, const QString &preferences=QString::null, QString *error=0, QCString *dcopService=0, int flags=0)

## Static Public Member Functions

static KDCOPServiceStarter * | self ()

## Friends

class | KStaticDeleter< KDCOPServiceStarter >

## Detailed Description

A generic DCOP service starter, using KTrader.

The default implementation starts new processes, but this interface can also be reimplemented by specific applications to provide dlopened in-process DCOP objects.

Author
  David Faure faure.nosp@m.@kde.nosp@m..org

Definition at line 34 of file kdcopservicestarter.h.

## Member Function Documentation

int KDCOPServiceStarter::findServiceFor | ( | const QString & | serviceType,
|  | const QString & | constraint = `QString::null`,
|  | const QString & | preferences = `QString::null`,
|  | QString * | error = `0`,
|  | QCString * | dcopService = `0`,
|  | int | flags = `0`
| ) |  |

Check if a given DCOP interface 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-DCOP-ServiceName property must be defined. Then the DCOP 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 KTrader
  preferences | see KTrader
  error | On failure, `error` contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
  dcopService | On success, `dcopService` contains the DCOP 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).

Definition at line 49 of file kdcopservicestarter.cpp.

int KDCOPServiceStarter::startServiceFor | ( | const QString & | serviceType,
|  | const QString & | constraint = `QString::null`,
|  | const QString & | preferences = `QString::null`,
|  | QString * | error = `0`,
|  | QCString * | dcopService = `0`,
|  | int | flags = `0`
| ) |  |

virtual

Find an implementation of the given `serviceType`, and start it, to use its DCOP interface.

The default implementation uses KTrader to find the preferred Application, and then starts it using kapp->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 KTrader
  preferences | see KTrader
  error | On failure, `error` contains a description of the error that occurred. If the pointer is 0, the argument will be ignored
  dcopService | On success, `dcopService` contains the DCOP 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).

Definition at line 86 of file kdcopservicestarter.cpp.

The documentation for this class was generated from the following files:

- kdcopservicestarter.h
- kdcopservicestarter.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys