diff options
Diffstat (limited to 'qt/qdbusconnection.h')
| -rw-r--r-- | qt/qdbusconnection.h | 88 | 
1 files changed, 50 insertions, 38 deletions
| diff --git a/qt/qdbusconnection.h b/qt/qdbusconnection.h index c6913b29..dc3eb47a 100644 --- a/qt/qdbusconnection.h +++ b/qt/qdbusconnection.h @@ -41,23 +41,38 @@ class QDBUS_EXPORT QDBusConnection  {  public:      enum BusType { SessionBus, SystemBus, ActivationBus }; +    enum NameRequestMode { NoReplace = 0, ProhibitReplace = 1, ReplaceExisting = 2 }; +    enum RegisterOption { +        ExportAdaptors = 0x01, + +        ExportSlots = 0x10, +        ExportSignals = 0x20, +        ExportProperties = 0x40, +        ExportContents = 0xf0, + +        ExportNonScriptableSlots = 0x110, +        ExportNonScriptableSignals = 0x220, +        ExportNonScriptableProperties = 0x440, +        ExportNonScriptableContents = 0xff0, + +        ExportChildObjects = 0x1000 +    }; +    enum UnregisterMode { +        UnregisterNode, +        UnregisterTree +    }; + +    Q_DECLARE_FLAGS(RegisterOptions, RegisterOption); -    QDBusConnection(const QString &name = QLatin1String(default_connection_name)); +    QDBusConnection(const QString &name);      QDBusConnection(const QDBusConnection &other);      ~QDBusConnection();      QDBusConnection &operator=(const QDBusConnection &other);      bool isConnected() const; -    QDBusError lastError() const; - -    enum NameRequestMode { NoReplace = 0, ProhibitReplace = 1, ReplaceExisting = 2 }; -    bool requestName(const QString &name, NameRequestMode mode = NoReplace); -    bool releaseName(const QString& name); -    QString getNameOwner(const QString& name); - -      QString baseService() const; +    QDBusError lastError() const;      bool send(const QDBusMessage &message) const;      QDBusMessage sendWithReply(const QDBusMessage &message) const; @@ -70,48 +85,45 @@ public:                   const QString &name, const QString& signature,                   QObject *receiver, const char *slot); -    enum RegisterOption { -        ExportForAnyInterface = 0x01, -        ExportAdaptors = 0x03, -         -        ExportOwnSlots = 0x10, -        ExportOwnSignals = 0x20, -        ExportOwnProperties = 0x40, -        ExportOwnContents = 0xf0, -         -        ExportNonScriptableSlots = 0x100, -        ExportNonScriptableSignals = 0x200, -        ExportNonScriptableProperties = 0x400, -        ExportNonScriptables = 0xf00, -         -        ExportChildObjects = 0x1000,         - -        Reexport = 0x100000, -    }; -    Q_DECLARE_FLAGS(RegisterOptions, RegisterOption); -     -    bool registerObject(const QString &path, const QString &interface, QObject *object, -                        RegisterOptions options = ExportOwnContents);      bool registerObject(const QString &path, QObject *object,                          RegisterOptions options = ExportAdaptors); -    void unregisterObject(const QString &path); +    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); -     + +#ifndef QT_NO_MEMBER_TEMPLATES +    template<class Interface> +    inline Interface findInterface(const QString &service, const QString &path) +    { return Interface(findObject(service, path)); } +#endif + +    bool requestName(const QString &name, NameRequestMode mode = NoReplace); +    bool releaseName(const QString& name); +    QString getNameOwner(const QString& name);      static QDBusConnection addConnection(BusType type, -                               const QString &name = QLatin1String(default_connection_name)); +                                         const QString &name);      static QDBusConnection addConnection(const QString &address, -                               const QString &name = QLatin1String(default_connection_name)); -    static void closeConnection(const QString &name = QLatin1String(default_connection_name)); - -    QT_STATIC_CONST char *default_connection_name; +                                         const QString &name); +    static void closeConnection(const QString &name);  private:      friend class QDBusObject;      QDBusConnectionPrivate *d;  }; +namespace QDBus { +    QDBusConnection &sessionBus(); +    QDBusConnection &systemBus(); +} + +template<class Interface> +inline Interface qDBusConnectionFindInterface(QDBusConnection &connection, const QString &service, +                                              const QString &path) +{ +    return Interface(connection.findObject(service, path)); +} +  Q_DECLARE_OPERATORS_FOR_FLAGS(QDBusConnection::RegisterOptions)  #endif | 
