diff options
Diffstat (limited to 'qt/message.cpp')
| -rw-r--r-- | qt/message.cpp | 93 | 
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 +} +  }  | 
