summaryrefslogtreecommitdiffstats
path: root/src/dbus
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-12-31 16:48:17 -0200
committerThiago Macieira <thiago.macieira@intel.com>2015-01-06 19:41:43 +0100
commit171644cb47b97546ef3f78a7ad0f43d0d52cc332 (patch)
treec2797d64261a27d03f67f8bc5cdf06794b4ad216 /src/dbus
parent2e2cf8a54954ac7cb1ce4929f9861978228e7bf6 (diff)
Make QDBusMessage store its own message type
Instead of the libdbus-1 constants. Though they're exactly the same because they are based on the protocol wire format, so this is technically a no-op change. Change-Id: Ia2c638c4b508497ca693afd9c76e60ba9245f5e7 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
Diffstat (limited to 'src/dbus')
-rw-r--r--src/dbus/qdbusmessage.cpp33
-rw-r--r--src/dbus/qdbusmessage_p.h2
2 files changed, 19 insertions, 16 deletions
diff --git a/src/dbus/qdbusmessage.cpp b/src/dbus/qdbusmessage.cpp
index 25206b4bb7..1751fcce9c 100644
--- a/src/dbus/qdbusmessage.cpp
+++ b/src/dbus/qdbusmessage.cpp
@@ -49,13 +49,19 @@
QT_BEGIN_NAMESPACE
+Q_STATIC_ASSERT(QDBusMessage::InvalidMessage == DBUS_MESSAGE_TYPE_INVALID);
+Q_STATIC_ASSERT(QDBusMessage::MethodCallMessage == DBUS_MESSAGE_TYPE_METHOD_CALL);
+Q_STATIC_ASSERT(QDBusMessage::ReplyMessage == DBUS_MESSAGE_TYPE_METHOD_RETURN);
+Q_STATIC_ASSERT(QDBusMessage::ErrorMessage == DBUS_MESSAGE_TYPE_ERROR);
+Q_STATIC_ASSERT(QDBusMessage::SignalMessage == DBUS_MESSAGE_TYPE_SIGNAL);
+
static inline const char *data(const QByteArray &arr)
{
return arr.isEmpty() ? 0 : arr.constData();
}
QDBusMessagePrivate::QDBusMessagePrivate()
- : msg(0), reply(0), type(DBUS_MESSAGE_TYPE_INVALID),
+ : msg(0), reply(0), type(QDBusMessage::InvalidMessage),
timeout(-1), localReply(0), ref(1), delayedReply(false), localMessage(false),
parametersValidated(false), autoStartService(true)
{
@@ -106,10 +112,10 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message, QDB
const QDBusMessagePrivate *d_ptr = message.d_ptr;
switch (d_ptr->type) {
- case DBUS_MESSAGE_TYPE_INVALID:
+ case QDBusMessage::InvalidMessage:
//qDebug() << "QDBusMessagePrivate::toDBusMessage" << "message is invalid";
break;
- case DBUS_MESSAGE_TYPE_METHOD_CALL:
+ case QDBusMessage::MethodCallMessage:
// only service and interface can be empty -> path and name must not be empty
if (!d_ptr->parametersValidated) {
if (!QDBusUtil::checkBusName(d_ptr->service, QDBusUtil::EmptyAllowed, error))
@@ -126,14 +132,14 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message, QDB
data(d_ptr->interface.toUtf8()), d_ptr->name.toUtf8());
q_dbus_message_set_auto_start( msg, d_ptr->autoStartService );
break;
- case DBUS_MESSAGE_TYPE_METHOD_RETURN:
+ case QDBusMessage::ReplyMessage:
msg = q_dbus_message_new(DBUS_MESSAGE_TYPE_METHOD_RETURN);
if (!d_ptr->localMessage) {
q_dbus_message_set_destination(msg, q_dbus_message_get_sender(d_ptr->reply));
q_dbus_message_set_reply_serial(msg, q_dbus_message_get_serial(d_ptr->reply));
}
break;
- case DBUS_MESSAGE_TYPE_ERROR:
+ case QDBusMessage::ErrorMessage:
// error name can't be empty
if (!d_ptr->parametersValidated
&& !QDBusUtil::checkErrorName(d_ptr->name, QDBusUtil::EmptyNotAllowed, error))
@@ -146,7 +152,7 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message, QDB
q_dbus_message_set_reply_serial(msg, q_dbus_message_get_serial(d_ptr->reply));
}
break;
- case DBUS_MESSAGE_TYPE_SIGNAL:
+ case QDBusMessage::SignalMessage:
// nothing can be empty here
if (!d_ptr->parametersValidated) {
if (!QDBusUtil::checkObjectPath(d_ptr->path, QDBusUtil::EmptyNotAllowed, error))
@@ -160,9 +166,6 @@ DBusMessage *QDBusMessagePrivate::toDBusMessage(const QDBusMessage &message, QDB
msg = q_dbus_message_new_signal(d_ptr->path.toUtf8(), d_ptr->interface.toUtf8(),
d_ptr->name.toUtf8());
break;
- default:
- Q_ASSERT(false);
- break;
}
// if we got here, the parameters validated
@@ -221,7 +224,7 @@ QDBusMessage QDBusMessagePrivate::fromDBusMessage(DBusMessage *dmsg, QDBusConnec
if (!dmsg)
return message;
- message.d_ptr->type = q_dbus_message_get_type(dmsg);
+ message.d_ptr->type = QDBusMessage::MessageType(q_dbus_message_get_type(dmsg));
message.d_ptr->path = QString::fromUtf8(q_dbus_message_get_path(dmsg));
message.d_ptr->interface = QString::fromUtf8(q_dbus_message_get_interface(dmsg));
message.d_ptr->name = message.d_ptr->type == DBUS_MESSAGE_TYPE_ERROR ?
@@ -360,7 +363,7 @@ QDBusMessage QDBusMessage::createSignal(const QString &path, const QString &inte
const QString &name)
{
QDBusMessage message;
- message.d_ptr->type = DBUS_MESSAGE_TYPE_SIGNAL;
+ message.d_ptr->type = SignalMessage;
message.d_ptr->path = path;
message.d_ptr->interface = interface;
message.d_ptr->name = name;
@@ -391,7 +394,7 @@ QDBusMessage QDBusMessage::createMethodCall(const QString &service, const QStrin
const QString &interface, const QString &method)
{
QDBusMessage message;
- message.d_ptr->type = DBUS_MESSAGE_TYPE_METHOD_CALL;
+ message.d_ptr->type = MethodCallMessage;
message.d_ptr->service = service;
message.d_ptr->path = path;
message.d_ptr->interface = interface;
@@ -407,7 +410,7 @@ QDBusMessage QDBusMessage::createMethodCall(const QString &service, const QStrin
QDBusMessage QDBusMessage::createError(const QString &name, const QString &msg)
{
QDBusMessage error;
- error.d_ptr->type = DBUS_MESSAGE_TYPE_ERROR;
+ error.d_ptr->type = ErrorMessage;
error.d_ptr->name = name;
error.d_ptr->message = msg;
@@ -437,7 +440,7 @@ QDBusMessage QDBusMessage::createReply(const QVariantList &arguments) const
{
QDBusMessage reply;
reply.setArguments(arguments);
- reply.d_ptr->type = DBUS_MESSAGE_TYPE_METHOD_RETURN;
+ reply.d_ptr->type = ReplyMessage;
if (d_ptr->msg)
reply.d_ptr->reply = q_dbus_message_ref(d_ptr->msg);
if (d_ptr->localMessage) {
@@ -606,7 +609,7 @@ QString QDBusMessage::signature() const
bool QDBusMessage::isReplyRequired() const
{
// Only method calls can have replies
- if (d_ptr->type != DBUS_MESSAGE_TYPE_METHOD_CALL)
+ if (d_ptr->type != QDBusMessage::MethodCallMessage)
return false;
if (!d_ptr->msg)
diff --git a/src/dbus/qdbusmessage_p.h b/src/dbus/qdbusmessage_p.h
index 08f6d4bbfa..d2f85c3637 100644
--- a/src/dbus/qdbusmessage_p.h
+++ b/src/dbus/qdbusmessage_p.h
@@ -72,7 +72,7 @@ public:
DBusMessage *msg;
DBusMessage *reply;
- int type;
+ QDBusMessage::MessageType type;
int timeout;
mutable QDBusMessage *localReply;
QAtomicInt ref;