removeCfi method

void removeCfi(
  1. List<String> cfies
)

Removes the CFI-s specifies by cfies argument from the reader.

Implementation

void removeCfi(List<String> cfies) {
  if (cfies.isEmpty) {
    return;
  }

  Pointer<BufferArray> cfiesArray = allocNewBufferArray(sizeOf<Pointer<BufferString>>(), cfies.length);
  Pointer<Pointer<BufferString>> bufferCfies = cfiesArray.ref.data.cast();

  for (int i = 0; i < cfies.length; i++) {
    String cfi = cfies[i];
    Pointer<BufferString> cfiBuffer = BufferString.fromDartString(cfi);
    bufferCfies[i] = cfiBuffer;
  }

  removeCfiNative?.call(_sdk, cfiesArray);

  for (int i = 0; i < cfies.length; i++) {
    Pointer<BufferString> cfiBuffer = bufferCfies[i];
    freeBufferString(cfiBuffer);
  }

  freeBufferArray(cfiesArray);
}