diff --git a/lib/src/dbus_dart_type.dart b/lib/src/dbus_dart_type.dart index ed7507c..3d8d83c 100644 --- a/lib/src/dbus_dart_type.dart +++ b/lib/src/dbus_dart_type.dart @@ -29,6 +29,8 @@ DBusDartType getDartType(DBusSignature signature) { return DBusSignatureType(); } else if (value == 'v') { return DBusVariantType(); + } else if (value == 'h') { + return DBusUnixFdType(); } else if (value.startsWith('(') && value.endsWith(')')) { return DBusStructType(); } else if (value.startsWith('a{') && value.endsWith('}')) { @@ -259,6 +261,24 @@ class DBusVariantType extends DBusDartType { } } +/// Generates Dart code for the Unix FD D-Bus type. +class DBusUnixFdType extends DBusDartType { + @override + String get nativeType { + return 'ResourceHandle'; + } + + @override + String nativeToDBus(String name) { + return 'DBusUnixFd($name)'; + } + + @override + String dbusToNative(String name) { + return '$name.asUnixFd()'; + } +} + /// Generates Dart code for the struct D-Bus type. class DBusStructType extends DBusDartType { @override @@ -318,6 +338,8 @@ class DBusArrayType extends DBusDartType { return 'DBusArray.signature($name)'; case 'v': return 'DBusArray.variant($name)'; + case 'h': + return 'DBusArray.unixFd($name)'; default: var childType = getDartType(childSignature); var convertedValue = childType.nativeToDBus('child'); @@ -354,6 +376,8 @@ class DBusArrayType extends DBusDartType { return '$name.asSignatureArray().toList()'; case 'v': return '$name.asVariantArray().toList()'; + case 'h': + return '$name.asUnixFdArray().toList()'; default: var childType = getDartType(childSignature); var convertedValue = childType.dbusToNative('child'); diff --git a/test/generated-code/method-multiple-inputs.client.out b/test/generated-code/method-multiple-inputs.client.out index ab4153c..9a46f07 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, 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_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), 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(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); + 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 { + 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.in b/test/generated-code/method-multiple-inputs.in index 28caeab..c8553da 100644 --- a/test/generated-code/method-multiple-inputs.in +++ b/test/generated-code/method-multiple-inputs.in @@ -14,6 +14,7 @@ + @@ -28,6 +29,7 @@ + diff --git a/test/generated-code/method-multiple-inputs.server.out b/test/generated-code/method-multiple-inputs.server.out index b33a909..355af1a 100644 --- a/test/generated-code/method-multiple-inputs.server.out +++ b/test/generated-code/method-multiple-inputs.server.out @@ -5,23 +5,23 @@ 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, 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_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, 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 { return DBusMethodErrorResponse.failed('com.example.Test.Hello() not implemented'); } @override List introspect() { - return [DBusIntrospectInterface('com.example.Test', methods: [DBusIntrospectMethod('Hello', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.in_, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.in_, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.in_, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.in_, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.in_, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.in_, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.in_, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.in_, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.in_, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.in_, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.in_, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.in_, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.in_, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.in_, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.in_, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.in_, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.in_, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.in_, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.in_, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.in_, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.in_, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.in_, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.in_, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.in_, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.in_, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.in_, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.in_, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.in_, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.in_, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.in_, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.in_, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.in_, name: 'dict_value_dict')])])]; + return [DBusIntrospectInterface('com.example.Test', methods: [DBusIntrospectMethod('Hello', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.in_, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.in_, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.in_, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.in_, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.in_, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.in_, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.in_, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.in_, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.in_, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.in_, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.in_, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.in_, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.in_, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('h'), DBusArgumentDirection.in_, name: 'unix_fd_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.in_, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.in_, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.in_, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.in_, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.in_, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.in_, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.in_, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.in_, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.in_, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.in_, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.in_, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.in_, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.in_, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.in_, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('ah'), DBusArgumentDirection.in_, name: 'array_value_h'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.in_, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.in_, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.in_, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.in_, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.in_, name: 'dict_value_dict')])])]; } @override Future handleMethodCall(DBusMethodCall methodCall) async { if (methodCall.interface == 'com.example.Test') { if (methodCall.name == 'Hello') { - if (methodCall.signature != DBusSignature('ybnqiuxtdsogv(si)ayabanaqaiauaxatadasaoagava(si)aasa{sv}a{us}a{sa{sv}}')) { + if (methodCall.signature != DBusSignature('ybnqiuxtdsogvh(si)ayabanaqaiauaxatadasaoagavaha(si)aasa{sv}a{us}a{sa{sv}}')) { return DBusMethodErrorResponse.invalidArgs(); } - return doHello(methodCall.values[0].asByte(), methodCall.values[1].asBoolean(), methodCall.values[2].asInt16(), methodCall.values[3].asUint16(), methodCall.values[4].asInt32(), methodCall.values[5].asUint32(), methodCall.values[6].asInt64(), methodCall.values[7].asUint64(), methodCall.values[8].asDouble(), methodCall.values[9].asString(), methodCall.values[10].asObjectPath(), methodCall.values[11].asSignature(), methodCall.values[12].asVariant(), methodCall.values[13].asStruct(), methodCall.values[14].asByteArray().toList(), methodCall.values[15].asBooleanArray().toList(), methodCall.values[16].asInt16Array().toList(), methodCall.values[17].asUint16Array().toList(), methodCall.values[18].asInt32Array().toList(), methodCall.values[19].asUint32Array().toList(), methodCall.values[20].asInt64Array().toList(), methodCall.values[21].asUint64Array().toList(), methodCall.values[22].asDoubleArray().toList(), methodCall.values[23].asStringArray().toList(), methodCall.values[24].asObjectPathArray().toList(), methodCall.values[25].asSignatureArray().toList(), methodCall.values[26].asVariantArray().toList(), methodCall.values[27].asArray().map((child) => child.asStruct()).toList(), methodCall.values[28].asArray().map((child) => child.asStringArray().toList()).toList(), methodCall.values[29].asStringVariantDict(), methodCall.values[30].asDict().map((key, value) => MapEntry(key.asUint32(), value.asString())), methodCall.values[31].asDict().map((key, value) => MapEntry(key.asString(), value.asStringVariantDict()))); + return doHello(methodCall.values[0].asByte(), methodCall.values[1].asBoolean(), methodCall.values[2].asInt16(), methodCall.values[3].asUint16(), methodCall.values[4].asInt32(), methodCall.values[5].asUint32(), methodCall.values[6].asInt64(), methodCall.values[7].asUint64(), methodCall.values[8].asDouble(), methodCall.values[9].asString(), methodCall.values[10].asObjectPath(), methodCall.values[11].asSignature(), methodCall.values[12].asVariant(), methodCall.values[13].asUnixFd(), methodCall.values[14].asStruct(), methodCall.values[15].asByteArray().toList(), methodCall.values[16].asBooleanArray().toList(), methodCall.values[17].asInt16Array().toList(), methodCall.values[18].asUint16Array().toList(), methodCall.values[19].asInt32Array().toList(), methodCall.values[20].asUint32Array().toList(), methodCall.values[21].asInt64Array().toList(), methodCall.values[22].asUint64Array().toList(), methodCall.values[23].asDoubleArray().toList(), methodCall.values[24].asStringArray().toList(), methodCall.values[25].asObjectPathArray().toList(), methodCall.values[26].asSignatureArray().toList(), methodCall.values[27].asVariantArray().toList(), methodCall.values[28].asUnixFdArray().toList(), methodCall.values[29].asArray().map((child) => child.asStruct()).toList(), methodCall.values[30].asArray().map((child) => child.asStringArray().toList()).toList(), methodCall.values[31].asStringVariantDict(), methodCall.values[32].asDict().map((key, value) => MapEntry(key.asUint32(), value.asString())), methodCall.values[33].asDict().map((key, value) => MapEntry(key.asString(), value.asStringVariantDict()))); } else { return DBusMethodErrorResponse.unknownMethod(); } diff --git a/test/generated-code/method-multiple-outputs.client.out b/test/generated-code/method-multiple-outputs.client.out index 369d43a..ed005c2 100644 --- a/test/generated-code/method-multiple-outputs.client.out +++ b/test/generated-code/method-multiple-outputs.client.out @@ -5,7 +5,7 @@ class ComExampleTest extends DBusRemoteObject { /// Invokes com.example.Test.Hello() Future> callHello({bool noAutoStart = false, bool allowInteractiveAuthorization = false}) async { - var result = await callMethod('com.example.Test', 'Hello', [], replySignature: DBusSignature('ybnqiuxtdsogv(si)ayabanaqaiauaxatadasaoagava(si)aasa{sv}a{us}a{sa{sv}}'), noAutoStart: noAutoStart, allowInteractiveAuthorization: allowInteractiveAuthorization); + var result = await callMethod('com.example.Test', 'Hello', [], replySignature: DBusSignature('ybnqiuxtdsogvh(si)ayabanaqaiauaxatadasaoagavaha(si)aasa{sv}a{us}a{sa{sv}}'), noAutoStart: noAutoStart, allowInteractiveAuthorization: allowInteractiveAuthorization); return result.returnValues; } } diff --git a/test/generated-code/method-multiple-outputs.in b/test/generated-code/method-multiple-outputs.in index 0ff6df1..766ce99 100644 --- a/test/generated-code/method-multiple-outputs.in +++ b/test/generated-code/method-multiple-outputs.in @@ -14,6 +14,7 @@ + @@ -28,6 +29,7 @@ + diff --git a/test/generated-code/method-multiple-outputs.server.out b/test/generated-code/method-multiple-outputs.server.out index faf9197..8aa94c8 100644 --- a/test/generated-code/method-multiple-outputs.server.out +++ b/test/generated-code/method-multiple-outputs.server.out @@ -11,7 +11,7 @@ class ComExampleTest extends DBusObject { @override List introspect() { - return [DBusIntrospectInterface('com.example.Test', methods: [DBusIntrospectMethod('Hello', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.out, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.out, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.out, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.out, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.out, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.out, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.out, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.out, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.out, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.out, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.out, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.out, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.out, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.out, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.out, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.out, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.out, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.out, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.out, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.out, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.out, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.out, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.out, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.out, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.out, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.out, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.out, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.out, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.out, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.out, name: 'dict_value_dict')])])]; + return [DBusIntrospectInterface('com.example.Test', methods: [DBusIntrospectMethod('Hello', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.out, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.out, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.out, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.out, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.out, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.out, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.out, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.out, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.out, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.out, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.out, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.out, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.out, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('h'), DBusArgumentDirection.out, name: 'unix_fd_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.out, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.out, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.out, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.out, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.out, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.out, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.out, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.out, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.out, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.out, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.out, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.out, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('ah'), DBusArgumentDirection.out, name: 'array_value_h'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.out, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.out, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.out, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.out, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.out, name: 'dict_value_dict')])])]; } @override diff --git a/test/generated-code/properties.client.out b/test/generated-code/properties.client.out index e1ece73..d31c633 100644 --- a/test/generated-code/properties.client.out +++ b/test/generated-code/properties.client.out @@ -146,6 +146,17 @@ class ComExampleTest extends DBusRemoteObject { await setProperty('com.example.Test', 'VariantProperty', DBusVariant(value)); } + /// Gets com.example.Test.UnixFdProperty + Future getUnixFdProperty() async { + var value = await getProperty('com.example.Test', 'UnixFdProperty', signature: DBusSignature('h')); + return value.asUnixFd(); + } + + /// Sets com.example.Test.UnixFdProperty + Future setUnixFdProperty (ResourceHandle value) async { + await setProperty('com.example.Test', 'UnixFdProperty', DBusUnixFd(value)); + } + /// Gets com.example.Test.StructProperty Future getStructProperty() async { var value = await getProperty('com.example.Test', 'StructProperty', signature: DBusSignature('(si)')); diff --git a/test/generated-code/properties.in b/test/generated-code/properties.in index 33b3ca8..0b4af16 100644 --- a/test/generated-code/properties.in +++ b/test/generated-code/properties.in @@ -13,6 +13,7 @@ + diff --git a/test/generated-code/properties.server.out b/test/generated-code/properties.server.out index 35c4d97..b154122 100644 --- a/test/generated-code/properties.server.out +++ b/test/generated-code/properties.server.out @@ -134,6 +134,16 @@ class ComExampleTest extends DBusObject { return DBusMethodErrorResponse.failed('Set com.example.Test.VariantProperty not implemented'); } + /// Gets value of property com.example.Test.UnixFdProperty + Future getUnixFdProperty() async { + return DBusMethodErrorResponse.failed('Get com.example.Test.UnixFdProperty not implemented'); + } + + /// Sets property com.example.Test.UnixFdProperty + Future setUnixFdProperty(ResourceHandle value) async { + return DBusMethodErrorResponse.failed('Set com.example.Test.UnixFdProperty not implemented'); + } + /// Gets value of property com.example.Test.StructProperty Future getStructProperty() async { return DBusMethodErrorResponse.failed('Get com.example.Test.StructProperty not implemented'); @@ -166,7 +176,7 @@ class ComExampleTest extends DBusObject { @override List introspect() { - return [DBusIntrospectInterface('com.example.Test', properties: [DBusIntrospectProperty('ByteProperty', DBusSignature('y'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('BooleanProperty', DBusSignature('b'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int16Property', DBusSignature('n'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint16Property', DBusSignature('q'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int32Property', DBusSignature('i'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint32Property', DBusSignature('u'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int64Property', DBusSignature('x'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint64Property', DBusSignature('t'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('DoubleProperty', DBusSignature('d'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('StringProperty', DBusSignature('s'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('ObjectPathProperty', DBusSignature('o'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('SignatureProperty', DBusSignature('g'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('VariantProperty', DBusSignature('v'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('StructProperty', DBusSignature('(si)'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('ArrayProperty', DBusSignature('ay'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('DictProperty', DBusSignature('a{sv}'), access: DBusPropertyAccess.readwrite)])]; + return [DBusIntrospectInterface('com.example.Test', properties: [DBusIntrospectProperty('ByteProperty', DBusSignature('y'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('BooleanProperty', DBusSignature('b'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int16Property', DBusSignature('n'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint16Property', DBusSignature('q'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int32Property', DBusSignature('i'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint32Property', DBusSignature('u'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Int64Property', DBusSignature('x'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('Uint64Property', DBusSignature('t'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('DoubleProperty', DBusSignature('d'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('StringProperty', DBusSignature('s'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('ObjectPathProperty', DBusSignature('o'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('SignatureProperty', DBusSignature('g'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('VariantProperty', DBusSignature('v'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('UnixFdProperty', DBusSignature('h'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('StructProperty', DBusSignature('(si)'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('ArrayProperty', DBusSignature('ay'), access: DBusPropertyAccess.readwrite), DBusIntrospectProperty('DictProperty', DBusSignature('a{sv}'), access: DBusPropertyAccess.readwrite)])]; } @override @@ -207,6 +217,8 @@ class ComExampleTest extends DBusObject { return getSignatureProperty(); } else if (name == 'VariantProperty') { return getVariantProperty(); + } else if (name == 'UnixFdProperty') { + return getUnixFdProperty(); } else if (name == 'StructProperty') { return getStructProperty(); } else if (name == 'ArrayProperty') { @@ -289,6 +301,11 @@ class ComExampleTest extends DBusObject { return DBusMethodErrorResponse.invalidArgs(); } return setVariantProperty(value.asVariant()); + } else if (name == 'UnixFdProperty') { + if (value.signature != DBusSignature('h')) { + return DBusMethodErrorResponse.invalidArgs(); + } + return setUnixFdProperty(value.asUnixFd()); } else if (name == 'StructProperty') { if (value.signature != DBusSignature('(si)')) { return DBusMethodErrorResponse.invalidArgs(); @@ -329,6 +346,7 @@ class ComExampleTest extends DBusObject { properties['ObjectPathProperty'] = (await getObjectPathProperty()).returnValues[0]; properties['SignatureProperty'] = (await getSignatureProperty()).returnValues[0]; properties['VariantProperty'] = (await getVariantProperty()).returnValues[0]; + properties['UnixFdProperty'] = (await getUnixFdProperty()).returnValues[0]; properties['StructProperty'] = (await getStructProperty()).returnValues[0]; properties['ArrayProperty'] = (await getArrayProperty()).returnValues[0]; properties['DictProperty'] = (await getDictProperty()).returnValues[0]; diff --git a/test/generated-code/signal-multiple-args.client.out b/test/generated-code/signal-multiple-args.client.out index bb908e0..a06b663 100644 --- a/test/generated-code/signal-multiple-args.client.out +++ b/test/generated-code/signal-multiple-args.client.out @@ -15,25 +15,27 @@ class ComExampleTestEvent extends DBusSignal { String get object_path_value => values[10].asObjectPath(); DBusSignature get signature_value => values[11].asSignature(); DBusValue get variant_value => values[12].asVariant(); - DBusStruct get struct_value => values[13].asStruct(); - List get array_value_y => values[14].asByteArray().toList(); - List get array_value_b => values[15].asBooleanArray().toList(); - List get array_value_n => values[16].asInt16Array().toList(); - List get array_value_q => values[17].asUint16Array().toList(); - List get array_value_u => values[18].asInt32Array().toList(); - List get array_value_n_ => values[19].asUint32Array().toList(); - List get array_value_x => values[20].asInt64Array().toList(); - List get array_value_t => values[21].asUint64Array().toList(); - List get array_value_d => values[22].asDoubleArray().toList(); - List get array_value_s => values[23].asStringArray().toList(); - List get array_value_o => values[24].asObjectPathArray().toList(); - List get array_value_g => values[25].asSignatureArray().toList(); - List get array_value_v => values[26].asVariantArray().toList(); - List get array_value_struct => values[27].asArray().map((child) => child.asStruct()).toList(); - List> get array_value_array => values[28].asArray().map((child) => child.asStringArray().toList()).toList(); - Map get dict_value_sv => values[29].asStringVariantDict(); - Map get dict_value_us => values[30].asDict().map((key, value) => MapEntry(key.asUint32(), value.asString())); - Map> get dict_value_dict => values[31].asDict().map((key, value) => MapEntry(key.asString(), value.asStringVariantDict())); + ResourceHandle get unix_fd_value => values[13].asUnixFd(); + DBusStruct 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(); + List get array_value_q => values[18].asUint16Array().toList(); + List get array_value_u => values[19].asInt32Array().toList(); + List get array_value_n_ => values[20].asUint32Array().toList(); + List get array_value_x => values[21].asInt64Array().toList(); + List get array_value_t => values[22].asUint64Array().toList(); + List get array_value_d => values[23].asDoubleArray().toList(); + List get array_value_s => values[24].asStringArray().toList(); + List get array_value_o => values[25].asObjectPathArray().toList(); + 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_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())); + Map> get dict_value_dict => values[33].asDict().map((key, value) => MapEntry(key.asString(), value.asStringVariantDict())); ComExampleTestEvent(DBusSignal signal) : super(sender: signal.sender, path: signal.path, interface: signal.interface, name: signal.name, values: signal.values); } @@ -43,6 +45,6 @@ class ComExampleTest extends DBusRemoteObject { late final Stream event; ComExampleTest(DBusClient client, String destination, DBusObjectPath path) : super(client, name: destination, path: path) { - event = DBusRemoteObjectSignalStream(object: this, interface: 'com.example.Test', name: 'Event', signature: DBusSignature('ybnqiuxtdsogv(si)ayabanaqaiauaxatadasaoagava(si)aasa{sv}a{us}a{sa{sv}}')).asBroadcastStream().map((signal) => ComExampleTestEvent(signal)); + event = DBusRemoteObjectSignalStream(object: this, interface: 'com.example.Test', name: 'Event', signature: DBusSignature('ybnqiuxtdsogvh(si)ayabanaqaiauaxatadasaoagavaha(si)aasa{sv}a{us}a{sa{sv}}')).asBroadcastStream().map((signal) => ComExampleTestEvent(signal)); } } diff --git a/test/generated-code/signal-multiple-args.in b/test/generated-code/signal-multiple-args.in index e1f0f70..5aada1b 100644 --- a/test/generated-code/signal-multiple-args.in +++ b/test/generated-code/signal-multiple-args.in @@ -14,6 +14,7 @@ + @@ -28,6 +29,7 @@ + diff --git a/test/generated-code/signal-multiple-args.server.out b/test/generated-code/signal-multiple-args.server.out index 1e2211f..aed7506 100644 --- a/test/generated-code/signal-multiple-args.server.out +++ b/test/generated-code/signal-multiple-args.server.out @@ -5,13 +5,13 @@ 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, 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_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), 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(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))))]); + 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 { + 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))))]); } @override List introspect() { - return [DBusIntrospectInterface('com.example.Test', signals: [DBusIntrospectSignal('Event', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.out, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.out, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.out, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.out, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.out, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.out, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.out, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.out, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.out, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.out, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.out, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.out, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.out, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.out, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.out, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.out, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.out, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.out, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.out, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.out, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.out, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.out, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.out, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.out, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.out, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.out, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.out, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.out, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.out, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.out, name: 'dict_value_dict')])])]; + return [DBusIntrospectInterface('com.example.Test', signals: [DBusIntrospectSignal('Event', args: [DBusIntrospectArgument(DBusSignature('y'), DBusArgumentDirection.out, name: 'byte_value'), DBusIntrospectArgument(DBusSignature('b'), DBusArgumentDirection.out, name: 'boolean_value'), DBusIntrospectArgument(DBusSignature('n'), DBusArgumentDirection.out, name: 'int16_value'), DBusIntrospectArgument(DBusSignature('q'), DBusArgumentDirection.out, name: 'uint16_value'), DBusIntrospectArgument(DBusSignature('i'), DBusArgumentDirection.out, name: 'int32_value'), DBusIntrospectArgument(DBusSignature('u'), DBusArgumentDirection.out, name: 'uint32_value'), DBusIntrospectArgument(DBusSignature('x'), DBusArgumentDirection.out, name: 'int64_value'), DBusIntrospectArgument(DBusSignature('t'), DBusArgumentDirection.out, name: 'uint64_value'), DBusIntrospectArgument(DBusSignature('d'), DBusArgumentDirection.out, name: 'double_value'), DBusIntrospectArgument(DBusSignature('s'), DBusArgumentDirection.out, name: 'string_value'), DBusIntrospectArgument(DBusSignature('o'), DBusArgumentDirection.out, name: 'object_path_value'), DBusIntrospectArgument(DBusSignature('g'), DBusArgumentDirection.out, name: 'signature_value'), DBusIntrospectArgument(DBusSignature('v'), DBusArgumentDirection.out, name: 'variant_value'), DBusIntrospectArgument(DBusSignature('h'), DBusArgumentDirection.out, name: 'unix_fd_value'), DBusIntrospectArgument(DBusSignature('(si)'), DBusArgumentDirection.out, name: 'struct_value'), DBusIntrospectArgument(DBusSignature('ay'), DBusArgumentDirection.out, name: 'array_value_y'), DBusIntrospectArgument(DBusSignature('ab'), DBusArgumentDirection.out, name: 'array_value_b'), DBusIntrospectArgument(DBusSignature('an'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('aq'), DBusArgumentDirection.out, name: 'array_value_q'), DBusIntrospectArgument(DBusSignature('ai'), DBusArgumentDirection.out, name: 'array_value_u'), DBusIntrospectArgument(DBusSignature('au'), DBusArgumentDirection.out, name: 'array_value_n'), DBusIntrospectArgument(DBusSignature('ax'), DBusArgumentDirection.out, name: 'array_value_x'), DBusIntrospectArgument(DBusSignature('at'), DBusArgumentDirection.out, name: 'array_value_t'), DBusIntrospectArgument(DBusSignature('ad'), DBusArgumentDirection.out, name: 'array_value_d'), DBusIntrospectArgument(DBusSignature('as'), DBusArgumentDirection.out, name: 'array_value_s'), DBusIntrospectArgument(DBusSignature('ao'), DBusArgumentDirection.out, name: 'array_value_o'), DBusIntrospectArgument(DBusSignature('ag'), DBusArgumentDirection.out, name: 'array_value_g'), DBusIntrospectArgument(DBusSignature('av'), DBusArgumentDirection.out, name: 'array_value_v'), DBusIntrospectArgument(DBusSignature('ah'), DBusArgumentDirection.out, name: 'array_value_h'), DBusIntrospectArgument(DBusSignature('a(si)'), DBusArgumentDirection.out, name: 'array_value_struct'), DBusIntrospectArgument(DBusSignature('aas'), DBusArgumentDirection.out, name: 'array_value_array'), DBusIntrospectArgument(DBusSignature('a{sv}'), DBusArgumentDirection.out, name: 'dict_value_sv'), DBusIntrospectArgument(DBusSignature('a{us}'), DBusArgumentDirection.out, name: 'dict_value_us'), DBusIntrospectArgument(DBusSignature('a{sa{sv}}'), DBusArgumentDirection.out, name: 'dict_value_dict')])])]; } @override