kio Library API Documentation

KDCOPServiceStarter Class Reference

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

#include <kdcopservicestarter.h>

List of all members.

Public Methods

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)


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.

References QString::arg(), QValueList::first(), QValueList::isEmpty(), QString::isEmpty(), KStdAction::preferences(), KTrader::query(), KTrader::self(), and startServiceFor().

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.

References QValueList::first(), QValueList::isEmpty(), KStdAction::preferences(), KTrader::query(), and KTrader::self().

Referenced by findServiceFor().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Feb 4 12:35:11 2004 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2003