ffiCreateStringList function

Pointer<Uint8ListArrayFFI> ffiCreateStringList(
  1. List<String> data
)

Implementation

Pointer<Uint8ListArrayFFI> ffiCreateStringList(List<String> data) {
  final sizeOfStruct = sizeOf<Uint8ListFFI>();
  final Pointer<Uint8ListFFI> nativeUint8ListBuffer =
  calloc.allocate(sizeOfStruct * (data.length));
  for (int i = 0; i < data.length; i++) {
    final ffi = createUint8PointerFromString(data[i]);
    nativeUint8ListBuffer
        .elementAt(i)
        .ref
        .str = ffi.str.cast();
    nativeUint8ListBuffer
        .elementAt(i)
        .ref
        .length = ffi.length;
  }

  final Pointer<Uint8ListArrayFFI> pointer =
  calloc.allocate<Uint8ListArrayFFI>(sizeOf<Uint8ListArrayFFI>());
  pointer.ref.array = nativeUint8ListBuffer;
  pointer.ref.length = data.length;
  return pointer;
}