| // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| import 'package:ffi/ffi.dart'; | |
| import 'objective_c_bindings_generated.dart'; | |
| extension StringToNSString on String { | |
| NSString toNSString() => NSString(this); | |
| } | |
| extension NSStringToString on NSString { | |
| String toDartString() { | |
| const nsUTF16LittleEndianStringEncoding = 0x94000100; | |
| final data = dataUsingEncoding(nsUTF16LittleEndianStringEncoding); | |
| return data!.bytes.cast<Utf16>().toDartString(length: length); | |
| } | |
| } |