--- /dev/null
+#include "qdbusconnection.h"
--- /dev/null
+#include "qdbusmessage.h"
--- /dev/null
+#include "qdbusconnection.h"
+
+void MsgHandler::send(QDBusMessage msg)
+{
+ QDBusConnection::sentMessages.append(msg);
+}
+
+MsgHandler &QDBusConnection::systemBus()
+{
+ return m_msgHandler;
+}
+
+QList<QDBusMessage> QDBusConnection::sentMessages;
+MsgHandler QDBusConnection::m_msgHandler;
+
--- /dev/null
+#ifndef _QDBUSCONNECTION_H_
+#define _QDBUSCONNECTION_H_
+
+#include <QDBusMessage>
+
+class MsgHandler
+{
+public:
+ void send(QDBusMessage msg);
+
+};
+
+class QDBusConnection
+{
+public:
+ static MsgHandler &systemBus();
+ static QList<QDBusMessage> sentMessages;
+
+private:
+ static MsgHandler m_msgHandler;
+};
+
+#endif // _QDBUSCONNECTION_H_
+
--- /dev/null
+#include "qdbusmessage.h"
+
+QDBusMessage::QDBusMessage()
+{
+}
+
+QDBusMessage::QDBusMessage(const QString &service,
+ const QString &path,
+ const QString &interface,
+ const QString &method)
+ : m_service(service)
+ , m_path(path)
+ , m_interface(interface)
+ , m_method(method)
+{
+}
+
+QDBusMessage::QDBusMessage(const QDBusMessage &msg)
+ : m_service(msg.m_service)
+ , m_path(msg.m_path)
+ , m_interface(msg.m_interface)
+ , m_method(msg.m_method)
+ , m_arguments(msg.m_arguments)
+{
+}
+
+QDBusMessage QDBusMessage::createMethodCall(const QString &service,
+ const QString &path,
+ const QString &interface,
+ const QString &method)
+{
+ return QDBusMessage(service, path, interface, method);
+}
+
+QDBusMessage &QDBusMessage::operator<<(const QVariant arg)
+{
+ m_arguments.append(arg);
+ return *this;
+}
+
+QString QDBusMessage::service()
+{
+ return m_service;
+}
+
+QString QDBusMessage::path()
+{
+ return m_path;
+}
+
+QString QDBusMessage::interface()
+{
+ return m_interface;
+}
+
+QString QDBusMessage::member()
+{
+ return m_method;
+}
+
+QVector<QVariant> &QDBusMessage::arguments()
+{
+ return m_arguments;
+}
+
--- /dev/null
+#ifndef _QDBUSMESSAGE_H_
+#define _QDBUSMESSAGE_H_
+
+#include <QString>
+#include <QVariant>
+#include <QVector>
+
+class QDBusMessage
+{
+public:
+ QDBusMessage();
+ QDBusMessage(const QDBusMessage &);
+
+ static QDBusMessage createMethodCall(const QString &service,
+ const QString &path,
+ const QString &interface,
+ const QString &method);
+ QString service();
+ QString path();
+ QString interface();
+ QString member();
+ QDBusMessage &operator<<(const QVariant arg);
+ QVector<QVariant> &arguments();
+
+private:
+ QDBusMessage(const QString &service,
+ const QString &path,
+ const QString &interface,
+ const QString &method);
+
+private:
+ QString m_service;
+ QString m_path;
+ QString m_interface;
+ QString m_method;
+ QVector<QVariant> m_arguments;
+};
+
+#endif // _QDBUSMESSAGE_H_
+