diff options
| author | Thiago Macieira <thiago@kde.org> | 2006-03-28 18:56:08 +0000 | 
|---|---|---|
| committer | Thiago Macieira <thiago@kde.org> | 2006-03-28 18:56:08 +0000 | 
| commit | d42c8663e8fd441838a238bfb845a7c80c37b253 (patch) | |
| tree | ac29c8e23bc1e48690cac1fc8416a1b34628e832 /qt/qdbusconnection.h | |
| parent | 36e1d8bfc79614617f364306bb168f46e0d4761c (diff) | |
	* qt/*:
	* dbus/qdbus.h: Sync with KDE Subversion revision
	523647. Hopefully, this will be the last of the
	source-incompatible changes. Documentation has been improved;
	support for QList<basic-types> has been added; QDBusObject is
	gone; QDBus(Abstract)Interface is now a QObject with
	auto-generated meta-object; QDBusIntrospection is marked
	private, since QMetaObject can be used now; lots of bugfixes.
Diffstat (limited to 'qt/qdbusconnection.h')
| -rw-r--r-- | qt/qdbusconnection.h | 63 | 
1 files changed, 29 insertions, 34 deletions
diff --git a/qt/qdbusconnection.h b/qt/qdbusconnection.h index dc3eb47a..60116e10 100644 --- a/qt/qdbusconnection.h +++ b/qt/qdbusconnection.h @@ -28,20 +28,19 @@  #include "qdbusmacros.h"  #include <QtCore/qstring.h> -class QDBusConnectionPrivate; -class QDBusXmlParser; -class QDBusObject; +class QDBusAbstractInterfacePrivate;  class QDBusInterface;  class QDBusError;  class QDBusMessage; -class QByteArray; +class QDBusBusService;  class QObject; +class QDBusConnectionPrivate;  class QDBUS_EXPORT QDBusConnection  {  public:      enum BusType { SessionBus, SystemBus, ActivationBus }; -    enum NameRequestMode { NoReplace = 0, ProhibitReplace = 1, ReplaceExisting = 2 }; +    enum WaitMode { UseEventLoop, NoUseEventLoop };      enum RegisterOption {          ExportAdaptors = 0x01, @@ -50,10 +49,10 @@ public:          ExportProperties = 0x40,          ExportContents = 0xf0, -        ExportNonScriptableSlots = 0x110, -        ExportNonScriptableSignals = 0x220, -        ExportNonScriptableProperties = 0x440, -        ExportNonScriptableContents = 0xff0, +        ExportAllSlots = 0x110, +        ExportAllSignals = 0x220, +        ExportAllProperties = 0x440, +        ExportAllContents = 0xff0,          ExportChildObjects = 0x1000      }; @@ -75,7 +74,7 @@ public:      QDBusError lastError() const;      bool send(const QDBusMessage &message) const; -    QDBusMessage sendWithReply(const QDBusMessage &message) const; +    QDBusMessage sendWithReply(const QDBusMessage &message, WaitMode mode = UseEventLoop) const;      int sendWithReplyAsync(const QDBusMessage &message, QObject *receiver,                             const char *slot) const; @@ -87,42 +86,38 @@ public:      bool registerObject(const QString &path, QObject *object,                          RegisterOptions options = ExportAdaptors); -    void unregisterObject(const QString &path, UnregisterMode = UnregisterNode); - -    QDBusObject findObject(const QString& service, const QString& path); -    QDBusInterface findInterface(const QString& service, const QString& path, const QString& interface); +    void unregisterObject(const QString &path, UnregisterMode mode = UnregisterNode); -#ifndef QT_NO_MEMBER_TEMPLATES      template<class Interface> -    inline Interface findInterface(const QString &service, const QString &path) -    { return Interface(findObject(service, path)); } -#endif +    inline Interface *findInterface(const QString &service, const QString &path); +    QDBusInterface *findInterface(const QString& service, const QString& path, +                                  const QString& interface = QString()); -    bool requestName(const QString &name, NameRequestMode mode = NoReplace); -    bool releaseName(const QString& name); -    QString getNameOwner(const QString& name); +    QDBusBusService *busService() const; -    static QDBusConnection addConnection(BusType type, -                                         const QString &name); -    static QDBusConnection addConnection(const QString &address, -                                         const QString &name); +    static QDBusConnection addConnection(BusType type, const QString &name); +    static QDBusConnection addConnection(const QString &address, const QString &name);      static void closeConnection(const QString &name);  private: -    friend class QDBusObject; +    QDBusAbstractInterfacePrivate *findInterface_helper(const QString &, const QString &, +                                                        const QString&);      QDBusConnectionPrivate *d;  }; -namespace QDBus { -    QDBusConnection &sessionBus(); -    QDBusConnection &systemBus(); -} -  template<class Interface> -inline Interface qDBusConnectionFindInterface(QDBusConnection &connection, const QString &service, -                                              const QString &path) +inline Interface *QDBusConnection::findInterface(const QString &service, const QString &path)  { -    return Interface(connection.findObject(service, path)); +    register QDBusAbstractInterfacePrivate *d; +    d = findInterface_helper(service, path, Interface::staticInterfaceName()); +    if (d) +        return new Interface(d); +    return 0; +} + +namespace QDBus { +    QDBUS_EXPORT QDBusConnection &sessionBus(); +    QDBUS_EXPORT QDBusConnection &systemBus();  }  Q_DECLARE_OPERATORS_FOR_FLAGS(QDBusConnection::RegisterOptions)  | 
