From 94d967848ace397f823ebe8c4459e6c7f04f5aec Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Fri, 17 Nov 2023 09:00:48 +1300 Subject: [PATCH] Fix generated code that uses DBusStruct. This was broken in 544b44f6e4dd1a54b6792c935056303dd5937f42 when the data type was changed from DBusStruct to List --- lib/src/dbus_dart_type.dart | 2 +- test/generated-code/method-multiple-inputs.client.out | 2 +- test/generated-code/method-multiple-inputs.server.out | 2 +- test/generated-code/properties.client.out | 4 ++-- test/generated-code/properties.server.out | 2 +- test/generated-code/signal-multiple-args.client.out | 4 ++-- test/generated-code/signal-multiple-args.server.out | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/src/dbus_dart_type.dart b/lib/src/dbus_dart_type.dart index 3d8d83c..6a9bd75 100644 --- a/lib/src/dbus_dart_type.dart +++ b/lib/src/dbus_dart_type.dart @@ -283,7 +283,7 @@ class DBusUnixFdType extends DBusDartType { class DBusStructType extends DBusDartType { @override String get nativeType { - return 'DBusStruct'; + return 'List'; } @override diff --git a/test/generated-code/method-multiple-inputs.client.out b/test/generated-code/method-multiple-inputs.client.out index 9a46f07..0a036a1 100644 --- a/test/generated-code/method-multiple-inputs.client.out +++ b/test/generated-code/method-multiple-inputs.client.out @@ -4,7 +4,7 @@ class ComExampleTest extends DBusRemoteObject { ComExampleTest(DBusClient client, String destination, DBusObjectPath path) : super(client, name: destination, path: path); /// Invokes com.example.Test.Hello() - Future callHello(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, DBusStruct struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict, {bool noAutoStart = false, bool allowInteractiveAuthorization = false}) async { + Future callHello(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List> array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict, {bool noAutoStart = false, bool allowInteractiveAuthorization = false}) async { await callMethod('com.example.Test', 'Hello', [DBusByte(byte_value), DBusBoolean(boolean_value), DBusInt16(int16_value), DBusUint16(uint16_value), DBusInt32(int32_value), DBusUint32(uint32_value), DBusInt64(int64_value), DBusUint64(uint64_value), DBusDouble(double_value), DBusString(string_value), DBusObjectPath(object_path_value), signature_value, DBusVariant(variant_value), DBusUnixFd(unix_fd_value), struct_value, DBusArray.byte(array_value_y), DBusArray.boolean(array_value_b), DBusArray.int16(array_value_n), DBusArray.uint16(array_value_q), DBusArray.int32(array_value_u), DBusArray.uint32(array_value_n), DBusArray.int64(array_value_x), DBusArray.uint64(array_value_t), DBusArray.double(array_value_d), DBusArray.string(array_value_s), DBusArray.objectPath(array_value_o), DBusArray.signature(array_value_g), DBusArray.variant(array_value_v), DBusArray.unixFd(array_value_h), DBusArray(DBusSignature('(si)'), array_value_struct.map((child) => child)), DBusArray(DBusSignature('as'), array_value_array.map((child) => DBusArray.string(child))), DBusDict.stringVariant(dict_value_sv), DBusDict(DBusSignature('u'), DBusSignature('s'), dict_value_us.map((key, value) => MapEntry(DBusUint32(key), DBusString(value)))), DBusDict(DBusSignature('s'), DBusSignature('a{sv}'), dict_value_dict.map((key, value) => MapEntry(DBusString(key), DBusDict.stringVariant(value))))], replySignature: DBusSignature(''), noAutoStart: noAutoStart, allowInteractiveAuthorization: allowInteractiveAuthorization); } } diff --git a/test/generated-code/method-multiple-inputs.server.out b/test/generated-code/method-multiple-inputs.server.out index 355af1a..29dad40 100644 --- a/test/generated-code/method-multiple-inputs.server.out +++ b/test/generated-code/method-multiple-inputs.server.out @@ -5,7 +5,7 @@ class ComExampleTest extends DBusObject { ComExampleTest({DBusObjectPath path = const DBusObjectPath.unchecked('/')}) : super(path); /// Implementation of com.example.Test.Hello() - Future doHello(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, DBusStruct struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict) async { + Future doHello(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List> array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict) async { return DBusMethodErrorResponse.failed('com.example.Test.Hello() not implemented'); } diff --git a/test/generated-code/properties.client.out b/test/generated-code/properties.client.out index d31c633..1866bd9 100644 --- a/test/generated-code/properties.client.out +++ b/test/generated-code/properties.client.out @@ -158,13 +158,13 @@ class ComExampleTest extends DBusRemoteObject { } /// Gets com.example.Test.StructProperty - Future getStructProperty() async { + Future> getStructProperty() async { var value = await getProperty('com.example.Test', 'StructProperty', signature: DBusSignature('(si)')); return value.asStruct(); } /// Sets com.example.Test.StructProperty - Future setStructProperty (DBusStruct value) async { + Future setStructProperty (List value) async { await setProperty('com.example.Test', 'StructProperty', value); } diff --git a/test/generated-code/properties.server.out b/test/generated-code/properties.server.out index b154122..8cad3c2 100644 --- a/test/generated-code/properties.server.out +++ b/test/generated-code/properties.server.out @@ -150,7 +150,7 @@ class ComExampleTest extends DBusObject { } /// Sets property com.example.Test.StructProperty - Future setStructProperty(DBusStruct value) async { + Future setStructProperty(List value) async { return DBusMethodErrorResponse.failed('Set com.example.Test.StructProperty not implemented'); } diff --git a/test/generated-code/signal-multiple-args.client.out b/test/generated-code/signal-multiple-args.client.out index a06b663..1b2e36b 100644 --- a/test/generated-code/signal-multiple-args.client.out +++ b/test/generated-code/signal-multiple-args.client.out @@ -16,7 +16,7 @@ class ComExampleTestEvent extends DBusSignal { DBusSignature get signature_value => values[11].asSignature(); DBusValue get variant_value => values[12].asVariant(); ResourceHandle get unix_fd_value => values[13].asUnixFd(); - DBusStruct get struct_value => values[14].asStruct(); + List get struct_value => values[14].asStruct(); List get array_value_y => values[15].asByteArray().toList(); List get array_value_b => values[16].asBooleanArray().toList(); List get array_value_n => values[17].asInt16Array().toList(); @@ -31,7 +31,7 @@ class ComExampleTestEvent extends DBusSignal { List get array_value_g => values[26].asSignatureArray().toList(); List get array_value_v => values[27].asVariantArray().toList(); List get array_value_h => values[28].asUnixFdArray().toList(); - List get array_value_struct => values[29].asArray().map((child) => child.asStruct()).toList(); + List> get array_value_struct => values[29].asArray().map((child) => child.asStruct()).toList(); List> get array_value_array => values[30].asArray().map((child) => child.asStringArray().toList()).toList(); Map get dict_value_sv => values[31].asStringVariantDict(); Map get dict_value_us => values[32].asDict().map((key, value) => MapEntry(key.asUint32(), value.asString())); diff --git a/test/generated-code/signal-multiple-args.server.out b/test/generated-code/signal-multiple-args.server.out index aed7506..95215aa 100644 --- a/test/generated-code/signal-multiple-args.server.out +++ b/test/generated-code/signal-multiple-args.server.out @@ -5,7 +5,7 @@ class ComExampleTest extends DBusObject { ComExampleTest({DBusObjectPath path = const DBusObjectPath.unchecked('/')}) : super(path); /// Emits signal com.example.Test.Event - Future emitEvent(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, DBusStruct struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n_, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict) async { + Future emitEvent(int byte_value, bool boolean_value, int int16_value, int uint16_value, int int32_value, int uint32_value, int int64_value, int uint64_value, double double_value, String string_value, String object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List struct_value, List array_value_y, List array_value_b, List array_value_n, List array_value_q, List array_value_u, List array_value_n_, List array_value_x, List array_value_t, List array_value_d, List array_value_s, List array_value_o, List array_value_g, List array_value_v, List array_value_h, List> array_value_struct, List> array_value_array, Map dict_value_sv, Map dict_value_us, Map> dict_value_dict) async { await emitSignal('com.example.Test', 'Event', [DBusByte(byte_value), DBusBoolean(boolean_value), DBusInt16(int16_value), DBusUint16(uint16_value), DBusInt32(int32_value), DBusUint32(uint32_value), DBusInt64(int64_value), DBusUint64(uint64_value), DBusDouble(double_value), DBusString(string_value), DBusObjectPath(object_path_value), signature_value, DBusVariant(variant_value), DBusUnixFd(unix_fd_value), struct_value, DBusArray.byte(array_value_y), DBusArray.boolean(array_value_b), DBusArray.int16(array_value_n), DBusArray.uint16(array_value_q), DBusArray.int32(array_value_u), DBusArray.uint32(array_value_n_), DBusArray.int64(array_value_x), DBusArray.uint64(array_value_t), DBusArray.double(array_value_d), DBusArray.string(array_value_s), DBusArray.objectPath(array_value_o), DBusArray.signature(array_value_g), DBusArray.variant(array_value_v), DBusArray.unixFd(array_value_h), DBusArray(DBusSignature('(si)'), array_value_struct.map((child) => child)), DBusArray(DBusSignature('as'), array_value_array.map((child) => DBusArray.string(child))), DBusDict.stringVariant(dict_value_sv), DBusDict(DBusSignature('u'), DBusSignature('s'), dict_value_us.map((key, value) => MapEntry(DBusUint32(key), DBusString(value)))), DBusDict(DBusSignature('s'), DBusSignature('a{sv}'), dict_value_dict.map((key, value) => MapEntry(DBusString(key), DBusDict.stringVariant(value))))]); }