Qt 4.8
Public Types | Public Slots | Signals | Private Functions | Static Private Functions | Properties | Friends | List of all members
QDBusConnectionInterface Class Reference

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

#include <qdbusconnectioninterface.h>

Inheritance diagram for QDBusConnectionInterface:
QDBusAbstractInterface QObject

Public Types

enum  RegisterServiceReply { ServiceNotRegistered = 0, ServiceRegistered, ServiceQueued }
 The possible return values from registerService(): More...
 
enum  ServiceQueueOptions { DontQueueService, QueueService, ReplaceExistingService }
 Flags for determining how a service registration should behave, in case the service name is already registered. More...
 
enum  ServiceReplacementOptions { DontAllowReplacement, AllowReplacement }
 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. More...
 

Public Slots

QDBusReply< bool > isServiceRegistered (const QString &serviceName) const
 Returns true if the service name serviceName has is currently registered. More...
 
QDBusReply< QStringListregisteredServiceNames () const
 
QDBusReply< QDBusConnectionInterface::RegisterServiceReplyregisterService (const QString &serviceName, ServiceQueueOptions qoption=DontQueueService, ServiceReplacementOptions roption=DontAllowReplacement)
 Requests to register the service name serviceName on the bus. More...
 
QDBusReply< QStringserviceOwner (const QString &name) const
 Returns the unique connection name of the primary owner of the name name. More...
 
QDBusReply< uintservicePid (const QString &serviceName) const
 Returns the Unix Process ID (PID) for the process currently holding the bus service serviceName. More...
 
QDBusReply< uintserviceUid (const QString &serviceName) const
 Returns the Unix User ID (UID) for the process currently holding the bus service serviceName. More...
 
QDBusReply< void > startService (const QString &name)
 Requests that the bus start the service given by the name name. More...
 
QDBusReply< bool > unregisterService (const QString &serviceName)
 Releases the claim on the bus service name serviceName, that had been previously registered with registerService(). More...
 
- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 

Signals

void callWithCallbackFailed (const QDBusError &error, const QDBusMessage &call)
 This signal is emitted when there is an error during a QDBusConnection::callWithCallback(). More...
 
void serviceOwnerChanged (const QString &name, const QString &oldOwner, const QString &newOwner)
 This signal is emitted by the D-Bus server whenever a service ownership change happens in the bus, including apparition and disparition of names. More...
 
void serviceRegistered (const QString &service)
 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. More...
 
void serviceUnregistered (const QString &service)
 This signal is emitted by the D-Bus server when this application loses ownership of the bus service name given by serviceName. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 

Private Functions

 QDBusConnectionInterface (const QDBusConnection &connection, QObject *parent)
 
 ~QDBusConnectionInterface ()
 

Static Private Functions

static const char * staticInterfaceName ()
 

Properties

QDBusReply< QStringListregisteredServiceNames
 holds the registered service names More...
 

Friends

class QDBusConnectionPrivate
 

Additional Inherited Members

- Public Functions inherited from 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())
 Calls the method method on this interface and passes the parameters to this function to the method. More...
 
QDBusPendingCall asyncCallWithArgumentList (const QString &method, const QList< QVariant > &args)
 Places a call to the remote method specified by method on this interface, using args as arguments. More...
 
QDBusMessage call (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())
 Calls the method method on this interface and passes the parameters to this function to the method. More...
 
QDBusMessage call (QDBus::CallMode mode, 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())
 Calls the method method on this interface and passes the parameters to this function to the method. More...
 
QDBusMessage callWithArgumentList (QDBus::CallMode mode, const QString &method, const QList< QVariant > &args)
 Places a call to the remote method specified by method on this interface, using args as arguments. More...
 
bool callWithCallback (const QString &method, const QList< QVariant > &args, QObject *receiver, const char *member, const char *errorSlot)
 Places a call to the remote method specified by method on this interface, using args as arguments. More...
 
bool callWithCallback (const QString &method, const QList< QVariant > &args, QObject *receiver, const char *member)
 This function is deprecated. More...
 
QDBusConnection connection () const
 Returns the connection this interface is assocated with. More...
 
QString interface () const
 Returns the name of this interface. More...
 
bool isValid () const
 Returns true if this is a valid reference to a remote object. More...
 
QDBusError lastError () const
 Returns the error the last operation produced, or an invalid error if the last operation did not produce an error. More...
 
QString path () const
 Returns the object path that this interface is associated with. More...
 
QString service () const
 Returns the name of the service this interface is associated with. More...
 
void setTimeout (int timeout)
 Sets the timeout in milliseconds for all future DBus calls to timeout. More...
 
int timeout () const
 Returns the current value of the timeout in milliseconds. More...
 
virtual ~QDBusAbstractInterface ()
 Releases this object's resources. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QDBusAbstractInterface
void connectNotify (const char *signal)
 Catch signal connections. More...
 
void disconnectNotify (const char *signal)
 Catch signal disconnections. More...
 
QDBusMessage internalConstCall (QDBus::CallMode mode, const QString &method, const QList< QVariant > &args=QList< QVariant >()) const
 
QVariant internalPropGet (const char *propname) const
 Get the value of the property propname. More...
 
void internalPropSet (const char *propname, const QVariant &value)
 Set the value of the property propname to value. More...
 
 QDBusAbstractInterface (const QString &service, const QString &path, const char *interface, const QDBusConnection &connection, QObject *parent)
 This is the constructor called from static classes derived from QDBusAbstractInterface (i. More...
 
 QDBusAbstractInterface (QDBusAbstractInterfacePrivate &, QObject *parent)
 This is the constructor called from QDBusInterface::QDBusInterface. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

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

Attention
Module: QtDBus
Since
4.2

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.

Definition at line 65 of file qdbusconnectioninterface.h.

Enumerations

◆ RegisterServiceReply

The possible return values from registerService():

  • ServiceNotRegistered The call failed and the service name was not registered.
  • ServiceRegistered The caller is now the owner of the service name.
  • ServiceQueued The caller specified the QueueService flag and the service was already registered, so we are in queue.

The serviceRegistered() signal will be emitted when the service is acquired by this application.

Enumerator
ServiceNotRegistered 
ServiceRegistered 
ServiceQueued 

Definition at line 87 of file qdbusconnectioninterface.h.

◆ ServiceQueueOptions

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

  • DontQueueService 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.
  • QueueService 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.
  • ReplaceExistingService If another application already has the service name registered, attempt to replace it.
See also
ServiceReplacementOptions
Enumerator
DontQueueService 
QueueService 
ReplaceExistingService 

Definition at line 78 of file qdbusconnectioninterface.h.

◆ 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:

  • DontAllowReplacement 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.
  • AllowReplacement 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
Enumerator
DontAllowReplacement 
AllowReplacement 

Definition at line 83 of file qdbusconnectioninterface.h.

Constructors and Destructors

◆ QDBusConnectionInterface()

QDBusConnectionInterface::QDBusConnectionInterface ( const QDBusConnection connection,
QObject parent 
)
explicitprivate
Warning
This function is not part of the public interface.

Definition at line 174 of file qdbusconnectioninterface.cpp.

176  : QDBusAbstractInterface(QLatin1String(DBUS_SERVICE_DBUS),
177  QLatin1String(DBUS_PATH_DBUS),
178  DBUS_INTERFACE_DBUS, connection, parent)
179 {
180  connect(this, SIGNAL(NameAcquired(QString)), this, SIGNAL(serviceRegistered(QString)));
181  connect(this, SIGNAL(NameLost(QString)), this, SIGNAL(serviceUnregistered(QString)));
182  connect(this, SIGNAL(NameOwnerChanged(QString,QString,QString)),
184 }
QDBusAbstractInterface(const QString &service, const QString &path, const char *interface, const QDBusConnection &connection, QObject *parent)
This is the constructor called from static classes derived from QDBusAbstractInterface (i...
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
The QString class provides a Unicode character string.
Definition: qstring.h:83
void serviceOwnerChanged(const QString &name, const QString &oldOwner, const QString &newOwner)
This signal is emitted by the D-Bus server whenever a service ownership change happens in the bus...
#define SIGNAL(a)
Definition: qobjectdefs.h:227
static bool connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
Creates a connection of the given type from the signal in the sender object to the method in the rece...
Definition: qobject.cpp:2580
void serviceRegistered(const QString &service)
This signal is emitted by the D-Bus server when the bus service name (unique connection name or well-...
void serviceUnregistered(const QString &service)
This signal is emitted by the D-Bus server when this application loses ownership of the bus service n...

◆ ~QDBusConnectionInterface()

QDBusConnectionInterface::~QDBusConnectionInterface ( )
private
Warning
This function is not part of the public interface.

Definition at line 189 of file qdbusconnectioninterface.cpp.

190 {
191 }

Functions

◆ callWithCallbackFailed

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

This signal is emitted when there is an error during a QDBusConnection::callWithCallback().

error specifies the error. call is the message that couldn't be delivered.

See also
QDBusConnection::callWithCallback()

◆ isServiceRegistered

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

Returns true if the service name serviceName has is currently registered.

Definition at line 221 of file qdbusconnectioninterface.cpp.

222 {
223  return internalConstCall(QDBus::AutoDetect, QLatin1String("NameHasOwner"),
224  QList<QVariant>() << serviceName);
225 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QDBusMessage internalConstCall(QDBus::CallMode mode, const QString &method, const QList< QVariant > &args=QList< QVariant >()) const

◆ registeredServiceNames

QDBusReply<QStringList> QDBusConnectionInterface::registeredServiceNames ( ) const
slot

Referenced by serviceOwner().

◆ registerService

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

Definition at line 271 of file qdbusconnectioninterface.cpp.

274 {
275  // reconstruct the low-level flags
276  uint flags = 0;
277  switch (qoption) {
278  case DontQueueService:
279  flags = DBUS_NAME_FLAG_DO_NOT_QUEUE;
280  break;
281  case QueueService:
282  flags = 0;
283  break;
285  flags = DBUS_NAME_FLAG_DO_NOT_QUEUE | DBUS_NAME_FLAG_REPLACE_EXISTING;
286  break;
287  }
288 
289  switch (roption) {
291  break;
292  case AllowReplacement:
293  flags |= DBUS_NAME_FLAG_ALLOW_REPLACEMENT;
294  break;
295  }
296 
297  QDBusMessage reply = call(QLatin1String("RequestName"), serviceName, flags);
298 // qDebug() << "QDBusConnectionInterface::registerService" << serviceName << "Reply:" << reply;
299 
300  // convert the low-level flags to something that we can use
301  if (reply.type() == QDBusMessage::ReplyMessage) {
302  uint code = 0;
303 
304  switch (reply.arguments().at(0).toUInt()) {
305  case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
306  case DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER:
307  code = uint(ServiceRegistered);
308  break;
309 
310  case DBUS_REQUEST_NAME_REPLY_EXISTS:
311  code = uint(ServiceNotRegistered);
312  break;
313 
314  case DBUS_REQUEST_NAME_REPLY_IN_QUEUE:
315  code = uint(ServiceQueued);
316  break;
317  }
318 
319  reply.setArguments(QVariantList() << code);
320  }
321 
322  return reply;
323 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QList< QVariant > arguments() const
Returns the list of arguments that are going to be sent or were received from D-Bus.
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
unsigned int uint
Definition: qglobal.h:996
QList< QVariant > QVariantList
Definition: qvariant.h:443
uint toUInt(bool *ok=0) const
Returns the variant as an unsigned int if the variant has type() UInt , Bool , ByteArray ...
Definition: qvariant.cpp:2644
The QDBusMessage class represents one message sent or received over the D-Bus bus.
Definition: qdbusmessage.h:59
MessageType type() const
Returns the message type.
void setArguments(const QList< QVariant > &arguments)
Sets the arguments that are going to be sent over D-Bus to arguments.
QDBusMessage call(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())
Calls the method method on this interface and passes the parameters to this function to the method...

◆ serviceOwner

QDBusReply< QString > QDBusConnectionInterface::serviceOwner ( const QString name) const
slot

Returns the unique connection name of the primary owner of the name name.

If the requested name doesn't have an owner, returns a org.freedesktop.DBus.Error.NameHasNoOwner error.

Definition at line 198 of file qdbusconnectioninterface.cpp.

199 {
200  return internalConstCall(QDBus::AutoDetect, QLatin1String("GetNameOwner"), QList<QVariant>() << name);
201 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QDBusMessage internalConstCall(QDBus::CallMode mode, const QString &method, const QList< QVariant > &args=QList< QVariant >()) const

◆ serviceOwnerChanged

QDBusConnectionInterface::serviceOwnerChanged ( const QString name,
const QString oldOwner,
const QString newOwner 
)
signal

This signal is emitted by the D-Bus server whenever a service ownership change happens in the bus, including apparition and disparition of names.

This signal means the application oldOwner lost ownership of bus name name to application newOwner. If oldOwner is an empty string, it means the name name has just been created; if newOwner is empty, the name name has no current owner and is no longer available.

Note
connecting to this signal will make the application listen for and receive every single service ownership change on the bus. Depending on how many services are running, this make the application be activated to receive more signals than it needs. To avoid this problem, use the QDBusServiceWatcher class, which can listen for specific changes.

Referenced by QDBusConnectionInterface(), and unregisterService().

◆ servicePid

QDBusReply< uint > QDBusConnectionInterface::servicePid ( const QString serviceName) const
slot

Returns the Unix Process ID (PID) for the process currently holding the bus service serviceName.

Definition at line 231 of file qdbusconnectioninterface.cpp.

232 {
233  return internalConstCall(QDBus::AutoDetect, QLatin1String("GetConnectionUnixProcessID"),
234  QList<QVariant>() << serviceName);
235 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QDBusMessage internalConstCall(QDBus::CallMode mode, const QString &method, const QList< QVariant > &args=QList< QVariant >()) const

◆ serviceRegistered

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

Referenced by QDBusConnectionInterface(), and unregisterService().

◆ serviceUid

QDBusReply< uint > QDBusConnectionInterface::serviceUid ( const QString serviceName) const
slot

Returns the Unix User ID (UID) for the process currently holding the bus service serviceName.

Definition at line 241 of file qdbusconnectioninterface.cpp.

242 {
243  return internalConstCall(QDBus::AutoDetect, QLatin1String("GetConnectionUnixUser"),
244  QList<QVariant>() << serviceName);
245 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QDBusMessage internalConstCall(QDBus::CallMode mode, const QString &method, const QList< QVariant > &args=QList< QVariant >()) const

◆ serviceUnregistered

QDBusConnectionInterface::serviceUnregistered ( const QString service)
signal

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

Referenced by QDBusConnectionInterface(), and unregisterService().

◆ startService

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

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

Definition at line 250 of file qdbusconnectioninterface.cpp.

251 {
252  return call(QLatin1String("StartServiceByName"), name, uint(0));
253 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
unsigned int uint
Definition: qglobal.h:996
QDBusMessage call(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())
Calls the method method on this interface and passes the parameters to this function to the method...

◆ staticInterfaceName()

const char * QDBusConnectionInterface::staticInterfaceName ( )
inlinestaticprivate
Warning
This function is not part of the public interface.

Definition at line 168 of file qdbusconnectioninterface.cpp.

169 { return "org.freedesktop.DBus"; }

◆ unregisterService

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.

Definition at line 333 of file qdbusconnectioninterface.cpp.

334 {
335  QDBusMessage reply = call(QLatin1String("ReleaseName"), serviceName);
336  if (reply.type() == QDBusMessage::ReplyMessage) {
337  bool success = reply.arguments().at(0).toUInt() == DBUS_RELEASE_NAME_REPLY_RELEASED;
338  reply.setArguments(QVariantList() << success);
339  }
340  return reply;
341 }
QLatin1String(DBUS_INTERFACE_DBUS))) Q_GLOBAL_STATIC_WITH_ARGS(QString
QList< QVariant > arguments() const
Returns the list of arguments that are going to be sent or were received from D-Bus.
const T & at(int i) const
Returns the item at index position i in the list.
Definition: qlist.h:468
QList< QVariant > QVariantList
Definition: qvariant.h:443
uint toUInt(bool *ok=0) const
Returns the variant as an unsigned int if the variant has type() UInt , Bool , ByteArray ...
Definition: qvariant.cpp:2644
The QDBusMessage class represents one message sent or received over the D-Bus bus.
Definition: qdbusmessage.h:59
MessageType type() const
Returns the message type.
void setArguments(const QList< QVariant > &arguments)
Sets the arguments that are going to be sent over D-Bus to arguments.
QDBusMessage call(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())
Calls the method method on this interface and passes the parameters to this function to the method...

Friends and Related Functions

◆ QDBusConnectionPrivate

Definition at line 69 of file qdbusconnectioninterface.h.

Properties

◆ registeredServiceNames

QDBusReply< QStringList > QDBusConnectionInterface::registeredServiceNames
private

holds the registered service names

Lists all names currently registered on the bus.

Definition at line 75 of file qdbusconnectioninterface.h.


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