Qt 4.8
Public Functions | Private Functions | Friends | List of all members
QDBusInterface Class Reference

The QDBusInterface class is a proxy for interfaces on remote objects. More...

#include <qdbusinterface.h>

Inheritance diagram for QDBusInterface:
QDBusAbstractInterface QObject

Public Functions

virtual const QMetaObjectmetaObject () const
 Overrides QObject::metaObject to return our own copy. More...
 
 QDBusInterface (const QString &service, const QString &path, const QString &interface=QString(), const QDBusConnection &connection=QDBusConnection::sessionBus(), QObject *parent=0)
 Creates a dynamic QDBusInterface object associated with the interface interface on object at path path on service service, using the given connection. More...
 
virtual int qt_metacall (QMetaObject::Call, int, void **)
 Dispatch the call through the private. More...
 
virtual void * qt_metacast (const char *)
 Override QObject::qt_metacast to catch the interface name too. More...
 
 ~QDBusInterface ()
 Destroy the object interface and frees up any resource used. More...
 
- 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...
 
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...
 

Private Functions

 QDBusInterface (QDBusInterfacePrivate *p)
 

Friends

class QDBusConnection
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. 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...
 
- 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 QDBusInterface class is a proxy for interfaces on remote objects.

Attention
Module: QtDBus
Since
4.2

QDBusInterface is a generic accessor class that is used to place calls to remote objects, connect to signals exported by remote objects and get/set the value of remote properties. This class is useful for dynamic access to remote objects: that is, when you do not have a generated code that represents the remote interface.

Calls are usually placed by using the call() function, which constructs the message, sends it over the bus, waits for the reply and decodes the reply. Signals are connected to by using the normal QObject::connect() function. Finally, properties are accessed using the QObject::property() and QObject::setProperty() functions.

The following code snippet demonstrates how to perform a mathematical operation of "2 + 2" in a remote application called com.example.Calculator, accessed via the session bus.

QDBusInterface remoteApp( "com.example.Calculator", "/Calculator/Operations",
"org.mathematics.RPNCalculator" );
remoteApp.call( "PushOperand", 2 );
remoteApp.call( "PushOperand", 2 );
remoteApp.call( "ExecuteOperation", "+" );
QDBusReply<int> reply = remoteApp.call( "PopOperand" );
if ( reply.isValid() )
printf( "%d", reply.value() ); // prints 4
See also
{QtDBus XML compiler (qdbusxml2cpp)}

Definition at line 57 of file qdbusinterface.h.

Constructors and Destructors

◆ QDBusInterface() [1/2]

QDBusInterface::QDBusInterface ( QDBusInterfacePrivate p)
private

◆ QDBusInterface() [2/2]

QDBusInterface::QDBusInterface ( const QString service,
const QString path,
const QString interface = QString(),
const QDBusConnection connection = QDBusConnection::sessionBus(),
QObject parent = 0 
)

Creates a dynamic QDBusInterface object associated with the interface interface on object at path path on service service, using the given connection.

If interface is an empty string, the object created will refer to the merging of all interfaces found in that object.

parent is passed to the base class constructor.

If the remote service service is not present or if an error occurs trying to obtain the description of the remote interface interface, the object created will not be valid (see isValid()).

Definition at line 221 of file qdbusinterface.cpp.

223  : QDBusAbstractInterface(*new QDBusInterfacePrivate(service, path, interface, connection),
224  parent)
225 {
226 }
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...

◆ ~QDBusInterface()

QDBusInterface::~QDBusInterface ( )

Destroy the object interface and frees up any resource used.

Definition at line 231 of file qdbusinterface.cpp.

232 {
233  // resources are freed in QDBusInterfacePrivate::~QDBusInterfacePrivate()
234 }

Functions

◆ metaObject()

const QMetaObject * QDBusInterface::metaObject ( ) const
virtual

Overrides QObject::metaObject to return our own copy.

Warning
This function is not part of the public interface.

Reimplemented from QObject.

Definition at line 243 of file qdbusinterface.cpp.

Referenced by QDBusInterfacePrivate::metacall(), and qt_metacall().

244 {
245  return d_func()->metaObject ? d_func()->metaObject : &QDBusAbstractInterface::staticMetaObject;
246 }
static const QMetaObject staticMetaObject
This variable stores the meta-object for the class.
Definition: qobject.h:128

◆ qt_metacall()

int QDBusInterface::qt_metacall ( QMetaObject::Call  _c,
int  _id,
void **  _a 
)
virtual

Dispatch the call through the private.

Warning
This function is not part of the public interface.

Definition at line 272 of file qdbusinterface.cpp.

273 {
274  _id = QDBusAbstractInterface::qt_metacall(_c, _id, _a);
275  if (_id < 0 || !d_func()->isValid || !d_func()->metaObject)
276  return _id;
277  return d_func()->metacall(_c, _id, _a);
278 }
bool isValid() const
Returns true if this is a valid reference to a remote object.
virtual const QMetaObject * metaObject() const
Overrides QObject::metaObject to return our own copy.

◆ qt_metacast()

void * QDBusInterface::qt_metacast ( const char *  _clname)
virtual

Override QObject::qt_metacast to catch the interface name too.

Warning
This function is not part of the public interface.

Definition at line 255 of file qdbusinterface.cpp.

256 {
257  if (!_clname) return 0;
258  if (!strcmp(_clname, "QDBusInterface"))
259  return static_cast<void*>(const_cast<QDBusInterface*>(this));
260  if (d_func()->interface.toLatin1() == _clname)
261  return static_cast<void*>(const_cast<QDBusInterface*>(this));
262  return QDBusAbstractInterface::qt_metacast(_clname);
263 }
The QDBusInterface class is a proxy for interfaces on remote objects.

Friends and Related Functions

◆ QDBusConnection

friend class QDBusConnection
friend

Definition at line 59 of file qdbusinterface.h.


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