blob: 72d7027838dbfc58bc202cb632e11c6071b9475b [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:convert' show utf8;
import 'package:fidl_fuchsia_mem/fidl_async.dart' as fidl_mem;
import 'package:zircon/zircon.dart';
/// Reads a FIDL VMO buffer into a string.
String bufferToString(fidl_mem.Buffer buffer) {
final dataVmo = SizedVmo(buffer.vmo.handle, buffer.size);
final data = dataVmo.read(buffer.size);
dataVmo.close();
return utf8.decode(data.bytesAsUint8List());
}
/// Writes a string into a VMO and a FIDL transport buffer.
fidl_mem.Buffer stringToBuffer(String string) {
final vmo = SizedVmo.fromUint8List(utf8.encode(string));
return fidl_mem.Buffer(vmo: vmo, size: vmo.size);
}