CopperSpice DBUS  1.7.4
QDBusConnectionInterface Class Reference

The QDBusConnectionInterface class provides access to the D-Bus bus daemon service. More...

Inheritance diagram for QDBusConnectionInterface:
QDBusAbstractInterface

Public Types

enum  RegisterServiceReply
 
enum  ServiceQueueOptions
 
enum  ServiceReplacementOptions
 

Public Signals

void callWithCallbackFailed (const QDBusError &error, const QDBusMessage &call)
 
void serviceRegistered (const QString &serviceName)
 
void serviceUnregistered (const QString &serviceName)
 

Public Slots

QDBusReply< QDBusConnectionInterface::RegisterServiceReplyregisterService (const QString &serviceName, ServiceQueueOptions qoption=DontQueueService, ServiceReplacementOptions roption=DontAllowReplacement)
 
QDBusReply< void > startService (const QString &name)
 
QDBusReply< bool > unregisterService (const QString &serviceName)
 

Properties

 registeredServiceNames
 

Additional Inherited Members

- Public Methods inherited from QDBusAbstractInterface
virtual ~QDBusAbstractInterface ()
 
QDBusPendingCall asyncCall (const QString &method, const QVariant &arg1=QVariant (), const QVariant &arg2=QVariant (), const QVariant &arg3=QVariant (), const QVariant &arg4=QVariant (), const QVariant &arg5=QVariant (), const QVariant &arg6=QVariant (), const QVariant &arg7=QVariant (), const QVariant &arg8=QVariant ())
 

Detailed Description

The QDBusConnectionInterface class provides access to the D-Bus bus daemon service.

The D-Bus bus server daemon provides one special interface "org.freedesktop.DBus" that allows clients to access certain properties of the bus, such as the current list of clients connected. The QDBusConnectionInterface class provides access to that interface.

The most common uses of this class are to register and unregister service names on the bus using the registerService() and unregisterService() functions, query about existing names using the isServiceRegistered(), registeredServiceNames() and serviceOwner() functions, and to receive notification that a client has registered or de-registered through the serviceRegistered(), serviceUnregistered() and serviceOwnerChanged() signals.

See also
ServiceReplacementOptions

Member Enumeration Documentation

These are the possible return values from calling registerService(). The serviceRegistered() signal will be emitted when the service is acquired by this application.

ConstantValueDescription
QDBusConnectionInterface::ServiceNotRegistered 0 Call failed and the service name was not registered.
QDBusConnectionInterface::ServiceRegistered 1 Caller is now the owner of the service name.
QDBusConnectionInterface::ServiceQueued 2 Caller specified the QueueService flag and the service was already registered, so we are in queue.

Flags for determining how a service registration should behave, in case the service name is already registered.

ConstantValueDescription
QDBusConnectionInterface::DontQueueService 0 If an application requests a name that is already owned, no queueing will be performed. The registeredService() call will simply fail. This is the default.
QDBusConnectionInterface::QueueService 1 Attempts to register the requested service, but do not try to replace it if another application already has it registered. Instead, simply put this application in queue, until it is given up. The serviceRegistered() signal will be emitted when that happens.
QDBusConnectionInterface::ReplaceExistingService 2 If another application already has the service name registered, attempt to replace it.
See also
ServiceReplacementOptions

Flags for determining if the D-Bus server should allow another application to replace a name that this application has registered with the ReplaceExistingService option.

The possible values are shown below.

ConstantValueDescription
QDBusConnectionInterface::DontAllowReplacement 0 Do not allow another application to replace us. The service must be explicitly unregistered with unregisterService() for another application to acquire it. This is the default.
QDBusConnectionInterface::AllowReplacement 1 Allow other applications to replace us with the ReplaceExistingService option to registerService() without intervention. If that happens, the serviceUnregistered() signal will be emitted.
See also
ServiceQueueOptions

Method Documentation

void QDBusConnectionInterface::callWithCallbackFailed ( const QDBusError error,
const QDBusMessage call 
)
signal

This signal is emitted when there is an error during a QDBusConnection::callWithCallback(). The error specifies the error and call is the message that could not be delivered.

See also
QDBusConnection::callWithCallback()
QDBusReply< QDBusConnectionInterface::RegisterServiceReply > QDBusConnectionInterface::registerService ( const QString &  serviceName,
ServiceQueueOptions  qoption = DontQueueService,
ServiceReplacementOptions  roption = DontAllowReplacement 
)
slot

Requests to register the service name serviceName on the bus. The qoption flag specifies how the D-Bus server should behave if serviceName is already registered. The roption flag specifies if the server should allow another application to replace our registered name.

If the service registration succeeds, the serviceRegistered() signal will be emitted. If we are placed in queue, the signal will be emitted when we obtain the name. If roption is AllowReplacement, the serviceUnregistered() signal will be emitted if another application replaces this one.

See also
unregisterService()
void QDBusConnectionInterface::serviceRegistered ( const QString &  serviceName)
signal

This signal is emitted by the D-Bus server when the bus service name (unique connection name or well-known service name) given by serviceName is acquired by this application. Acquisition happens after this application has requested a name using registerService().

void QDBusConnectionInterface::serviceUnregistered ( const QString &  serviceName)
signal

This signal is emitted by the D-Bus server when this application loses ownership of the bus service name given by serviceName.

QDBusReply< void > QDBusConnectionInterface::startService ( const QString &  name)
slot

Requests that the bus start the service given by the name name.

QDBusReply< bool > QDBusConnectionInterface::unregisterService ( const QString &  serviceName)
slot

Releases the claim on the bus service name serviceName, that had been previously registered with registerService(). If this application had ownership of the name, it will be released for other applications to claim. If it only had the name queued, it gives up its position in the queue.

Property Documentation

QDBusConnectionInterface::registeredServiceNames

The property holds the registered service names.

PropertiesClass Methods
read registeredServiceNames