summaryrefslogtreecommitdiffstats
path: root/tqdbusmarshall.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-08-25 14:25:30 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2012-08-25 14:25:30 -0500
commitcd48fbedf55ac59fd8c740386d1c13430c8c02f0 (patch)
treef96ab8909a4d90956e53ba14babf25ce4f653efc /tqdbusmarshall.cpp
parentb6aba4c408a6db201af4a118725da2b8d8af0f84 (diff)
downloaddbus-1-tqt-cd48fbedf55ac59fd8c740386d1c13430c8c02f0.tar.gz
dbus-1-tqt-cd48fbedf55ac59fd8c740386d1c13430c8c02f0.zip
Additional fixups for struct handling
Diffstat (limited to 'tqdbusmarshall.cpp')
-rw-r--r--tqdbusmarshall.cpp47
1 files changed, 45 insertions, 2 deletions
diff --git a/tqdbusmarshall.cpp b/tqdbusmarshall.cpp
index bfd572a..a1177bb 100644
--- a/tqdbusmarshall.cpp
+++ b/tqdbusmarshall.cpp
@@ -231,8 +231,51 @@ static TQValueList<TQT_DBusData> parseSignature(TQCString& signature)
qSingleTypeForDBusSignature(signature[0]);
if (elementType != TQT_DBusData::Invalid)
{
- TQT_DBusDataList list(elementType);
- result << TQT_DBusData::fromList(list);
+ switch (elementType)
+ {
+ case TQT_DBusData::Byte:
+ result << TQT_DBusData::fromByte(
+ (0));
+ break;
+ case TQT_DBusData::Int16:
+ result << TQT_DBusData::fromInt16(
+ (0));
+ break;
+ case TQT_DBusData::UInt16:
+ result << TQT_DBusData::fromUInt16(
+ (0));
+ break;
+ case TQT_DBusData::Int32:
+ result << TQT_DBusData::fromInt32(
+ (0));
+ break;
+ case TQT_DBusData::UInt32:
+ result << TQT_DBusData::fromUInt32(
+ (0));
+ break;
+ case TQT_DBusData::Int64:
+ result << TQT_DBusData::fromInt64(
+ (0));
+ break;
+ case TQT_DBusData::UInt64:
+ result << TQT_DBusData::fromUInt64(
+ (0));
+ break;
+ case TQT_DBusData::String:
+ result << TQT_DBusData::fromString(
+ (TQString()));
+ break;
+ case TQT_DBusData::ObjectPath:
+ result << TQT_DBusData::fromObjectPath(
+ (TQT_DBusObjectPath()));
+ break;
+ default:
+ result << TQT_DBusData();
+ tqWarning("TQT_DBusMarshall: unsupported element type %s "
+ "at de-marshalling",
+ TQT_DBusData::typeName(elementType));
+ break;
+ }
signature = signature.mid(1);
}
else {