unpickle method

String unpickle(
  1. String key,
  2. String data
)

Implementation

String unpickle(String key, String data) {
  final dby = utf8.encode(data);
  final kby = utf8.encode(key);
  final outLen = olm_pk_key_length();
  final mem = malloc.call<Uint8>(dby.length + kby.length + outLen);
  final keyMem = mem.elementAt(dby.length);
  final outMem = keyMem.elementAt(kby.length);
  try {
    mem.asTypedList(dby.length).setAll(0, dby);
    keyMem.asTypedList(kby.length).setAll(0, kby);
    olm_unpickle_pk_decryption(
        _inst, keyMem, kby.length, mem, dby.length, outMem, outLen);
    return utf8.decode(outMem.asTypedList(outLen));
  } finally {
    malloc.free(mem);
  }
}