toNative method
Implementation
Pointer<NativePerformanceEntryList> toNative() {
Pointer<NativePerformanceEntryList> list = malloc.allocate<NativePerformanceEntryList>(sizeOf<NativePerformanceEntryList>());
int byteLength = entries.length * 3;
Uint64List data = Uint64List(byteLength);
int dataIndex = 0;
for (int i = 0; i < byteLength; i += 3) {
data[i] = (entries[dataIndex].name).toNativeUtf8().address;
data[i + 1] = entries[dataIndex].startTime;
data[i + 2] = entries[dataIndex].uniqueId;
dataIndex++;
}
final Pointer<Uint64> bytes = malloc.allocate<Uint64>(sizeOf<Uint64>() * byteLength);
final Uint64List buffer = bytes.asTypedList(byteLength);
buffer.setAll(0, data);
list.ref.length = entries.length;
list.ref.entries = bytes;
return list;
}