From c2432800b1d387c5512e605ba92060d4827b7606 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 15 Feb 2006 16:25:12 +0000 Subject: Merge the changes to the bindings from the KDE Subversion server. This is a major change: library is source- and binary-incompatible to what it used to be. All testcases are green, functionality is preserved. It is not feature-complete. Development will continue in the branch in the Subversion server for a while. --- qt/qdbusconnection.h | 55 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 8 deletions(-) (limited to 'qt/qdbusconnection.h') diff --git a/qt/qdbusconnection.h b/qt/qdbusconnection.h index bbab0ec6..c6913b29 100644 --- a/qt/qdbusconnection.h +++ b/qt/qdbusconnection.h @@ -1,6 +1,8 @@ /* qdbusconnection.h QDBusConnection object * * Copyright (C) 2005 Harald Fernengel + * Copyright (C) 2006 Trolltech AS. All rights reserved. + * Author: Thiago Macieira * * Licensed under the Academic Free License version 2.1 * @@ -15,18 +17,21 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * along with this program; if not, write to the Free Software Foundation + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * */ #ifndef QDBUSCONNECTION_H #define QDBUSCONNECTION_H -#include "dbus/qdbus.h" +#include "qdbusmacros.h" #include class QDBusConnectionPrivate; +class QDBusXmlParser; +class QDBusObject; +class QDBusInterface; class QDBusError; class QDBusMessage; class QByteArray; @@ -46,8 +51,11 @@ public: bool isConnected() const; QDBusError lastError() const; - enum NameRequestMode { NoReplace = 0, AllowReplace = 1, ReplaceExisting = 2 }; + 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; @@ -56,13 +64,42 @@ public: int sendWithReplyAsync(const QDBusMessage &message, QObject *receiver, const char *slot) const; - bool connect(const QString &path, const QString &interface, + bool connect(const QString &service, const QString &path, const QString &interface, const QString &name, QObject *receiver, const char *slot); - - bool registerObject(const QString &path, const QString &interface, - QObject *object); + bool connect(const QString &service, const QString &path, const QString &interface, + 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); + QDBusObject findObject(const QString& service, const QString& path); + QDBusInterface findInterface(const QString& service, const QString& path, const QString& interface); + + static QDBusConnection addConnection(BusType type, const QString &name = QLatin1String(default_connection_name)); static QDBusConnection addConnection(const QString &address, @@ -72,7 +109,9 @@ public: QT_STATIC_CONST char *default_connection_name; private: + friend class QDBusObject; QDBusConnectionPrivate *d; }; +Q_DECLARE_OPERATORS_FOR_FLAGS(QDBusConnection::RegisterOptions) #endif -- cgit