summaryrefslogtreecommitdiffstats
path: root/qt/qdbusconnection.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt/qdbusconnection.h')
-rw-r--r--qt/qdbusconnection.h55
1 files changed, 47 insertions, 8 deletions
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 <harry@kdevelop.org>
+ * Copyright (C) 2006 Trolltech AS. All rights reserved.
+ * Author: Thiago Macieira <thiago.macieira@trolltech.com>
*
* 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 <QtCore/qstring.h>
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