Skip to content

Commit

Permalink
Fix generated code that uses DBusObjectPath
Browse files Browse the repository at this point in the history
  • Loading branch information
robert-ancell committed Nov 16, 2023
1 parent 1a1ed14 commit ef02d87
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 12 deletions.
7 changes: 6 additions & 1 deletion lib/src/dbus_dart_type.dart
Original file line number Diff line number Diff line change
Expand Up @@ -214,9 +214,14 @@ class DBusStringType extends DBusDartType {

/// Generates Dart code for the object path D-Bus type.
class DBusObjectPathType extends DBusStringType {
@override
String get nativeType {
return 'DBusObjectPath';
}

@override
String nativeToDBus(String name) {
return 'DBusObjectPath($name)';
return name;
}

@override
Expand Down
4 changes: 2 additions & 2 deletions test/generated-code/method-multiple-inputs.client.out
Original file line number Diff line number Diff line change
Expand Up @@ -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<void> 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<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<String> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> 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);
Future<void> 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, DBusObjectPath object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<DBusObjectPath> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> 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), 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);
}
}
2 changes: 1 addition & 1 deletion test/generated-code/method-multiple-inputs.server.out
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ class ComExampleTest extends DBusObject {
ComExampleTest({DBusObjectPath path = const DBusObjectPath.unchecked('/')}) : super(path);

/// Implementation of com.example.Test.Hello()
Future<DBusMethodResponse> 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<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<String> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> dict_value_dict) async {
Future<DBusMethodResponse> 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, DBusObjectPath object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<DBusObjectPath> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> dict_value_dict) async {
return DBusMethodErrorResponse.failed('com.example.Test.Hello() not implemented');
}

Expand Down
6 changes: 3 additions & 3 deletions test/generated-code/properties.client.out
Original file line number Diff line number Diff line change
Expand Up @@ -114,14 +114,14 @@ class ComExampleTest extends DBusRemoteObject {
}

/// Gets com.example.Test.ObjectPathProperty
Future<String> getObjectPathProperty() async {
Future<DBusObjectPath> getObjectPathProperty() async {
var value = await getProperty('com.example.Test', 'ObjectPathProperty', signature: DBusSignature('o'));
return value.asObjectPath();
}

/// Sets com.example.Test.ObjectPathProperty
Future<void> setObjectPathProperty (String value) async {
await setProperty('com.example.Test', 'ObjectPathProperty', DBusObjectPath(value));
Future<void> setObjectPathProperty (DBusObjectPath value) async {
await setProperty('com.example.Test', 'ObjectPathProperty', value);
}

/// Gets com.example.Test.SignatureProperty
Expand Down
2 changes: 1 addition & 1 deletion test/generated-code/properties.server.out
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ class ComExampleTest extends DBusObject {
}

/// Sets property com.example.Test.ObjectPathProperty
Future<DBusMethodResponse> setObjectPathProperty(String value) async {
Future<DBusMethodResponse> setObjectPathProperty(DBusObjectPath value) async {
return DBusMethodErrorResponse.failed('Set com.example.Test.ObjectPathProperty not implemented');
}

Expand Down
4 changes: 2 additions & 2 deletions test/generated-code/signal-multiple-args.client.out
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ class ComExampleTestEvent extends DBusSignal {
int get uint64_value => values[7].asUint64();
double get double_value => values[8].asDouble();
String get string_value => values[9].asString();
String get object_path_value => values[10].asObjectPath();
DBusObjectPath get object_path_value => values[10].asObjectPath();
DBusSignature get signature_value => values[11].asSignature();
DBusValue get variant_value => values[12].asVariant();
ResourceHandle get unix_fd_value => values[13].asUnixFd();
Expand All @@ -27,7 +27,7 @@ class ComExampleTestEvent extends DBusSignal {
List<int> get array_value_t => values[22].asUint64Array().toList();
List<double> get array_value_d => values[23].asDoubleArray().toList();
List<String> get array_value_s => values[24].asStringArray().toList();
List<String> get array_value_o => values[25].asObjectPathArray().toList();
List<DBusObjectPath> get array_value_o => values[25].asObjectPathArray().toList();
List<DBusSignature> get array_value_g => values[26].asSignatureArray().toList();
List<DBusValue> get array_value_v => values[27].asVariantArray().toList();
List<ResourceHandle> get array_value_h => values[28].asUnixFdArray().toList();
Expand Down
4 changes: 2 additions & 2 deletions test/generated-code/signal-multiple-args.server.out
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ class ComExampleTest extends DBusObject {
ComExampleTest({DBusObjectPath path = const DBusObjectPath.unchecked('/')}) : super(path);

/// Emits signal com.example.Test.Event
Future<void> 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<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n_, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<String> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> 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))))]);
Future<void> 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, DBusObjectPath object_path_value, DBusSignature signature_value, DBusValue variant_value, ResourceHandle unix_fd_value, List<DBusValue> struct_value, List<int> array_value_y, List<bool> array_value_b, List<int> array_value_n, List<int> array_value_q, List<int> array_value_u, List<int> array_value_n_, List<int> array_value_x, List<int> array_value_t, List<double> array_value_d, List<String> array_value_s, List<DBusObjectPath> array_value_o, List<DBusSignature> array_value_g, List<DBusValue> array_value_v, List<ResourceHandle> array_value_h, List<List<DBusValue>> array_value_struct, List<List<String>> array_value_array, Map<String, DBusValue> dict_value_sv, Map<int, String> dict_value_us, Map<String, Map<String, DBusValue>> 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), 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
Expand Down

0 comments on commit ef02d87

Please sign in to comment.