sendInstanceSet method

  1. @override
Future<ReturnParams> sendInstanceSet(
  1. dynamic instanceOrId,
  2. String serviceName,
  3. String property,
  4. dynamic value,
)
override

Send instance property set request

Implementation

@override
Future<ReturnParams> sendInstanceSet(
  dynamic instanceOrId,
  String serviceName,
  String property,
  dynamic value,
) async {
  try {
    final instanceId = instanceOrId is String
        ? instanceOrId
        : proto.encodeArg(instanceOrId)['_instanceId'];

    final params = CallParams(
      callType: CallType.instancePropertySet,
      serviceName: serviceName,
      memberName: property,
      instanceId: instanceId,
      args: proto.encodeArgs([value]),
    );

    final nativeClasses = proto.collectNativeClass([value]);
    await _readyNativeClass(nativeClasses);

    return _bridge.callApi(params);
  } catch (e) {
    logger.error('[message-sender] Instance property set failed:', [e]);
    rethrow;
  }
}