summaryrefslogtreecommitdiffstats
path: root/qt/message.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qt/message.cpp')
-rw-r--r--qt/message.cpp93
1 files changed, 53 insertions, 40 deletions
diff --git a/qt/message.cpp b/qt/message.cpp
index 82f44323..f439acca 100644
--- a/qt/message.cpp
+++ b/qt/message.cpp
@@ -354,46 +354,6 @@ QString Message::signature() const
return dbus_message_get_signature( d->msg );
}
-/**
- * Message can be casted to DBusMessage* to make it easier to
- * use it with raw DBus.
- * @return underlying DBusMessage*
- */
-Message::operator DBusMessage*() const
-{
- return d->msg;
-}
-
-/**
- * Appends data to this message. It can be anything QVariant accepts.
- * @param var Data to append
- */
-void
-Message::append( const QVariant& var )
-{
- switch ( var.type() ) {
- case QVariant::Int:
- dbus_message_append_int32( d->msg, var.toInt() );
- break;
- case QVariant::UInt:
- dbus_message_append_uint32( d->msg, var.toUInt() );
- break;
- case QVariant::String: //what about QVariant::CString ?
- dbus_message_append_string( d->msg, var.toString() );
- break;
- case QVariant::Double:
- dbus_message_append_double( d->msg, var.toDouble() );
- break;
- case QVariant::Invalid:
- break;
- default: // handles QVariant::ByteArray
- QByteArray a;
- QDataStream stream( a, IO_WriteOnly );
- stream<<var;
- dbus_message_append_byte_array( d->msg, a.data(), a.size() );
- }
-}
-
/**
* Returns the starting iterator for the fields of this
@@ -445,4 +405,57 @@ Message::message() const
return d->msg;
}
+Message& Message::operator<<( bool b )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_BOOLEAN, b,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( Q_INT8 byte )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_BYTE, byte,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( Q_INT32 num )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_INT32, num,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( Q_UINT32 num )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_UINT32, num,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( Q_INT64 num )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_INT64, num,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( Q_UINT64 num )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_UINT64, num,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( double num )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_DOUBLE, num,
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( const QString& str )
+{
+ dbus_message_append_args( d->msg, DBUS_TYPE_STRING, str.unicode(),
+ DBUS_TYPE_INVALID );
+}
+
+Message& Message::operator<<( const QVariant& custom )
+{
+ //FIXME: imeplement
+}
+
}