KDCOPServiceStarter Class Reference

A generic DCOP service starter, using KTrader. More...

#include <kdcopservicestarter.h>

List of all members.


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 KDCOPServiceStarterself ()

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@kde.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:
KDE Home | KDE Accessibility Home | Description of Access Keys