registerCallback function

void registerCallback(
  1. dynamic target,
  2. Function function,
  3. String functionName
)

When callback finish, you need to invoke unregisterCallback function by hand. OtherWise it will casue memory leak.

Implementation

void registerCallback(dynamic target, Function function, String functionName) {
  if (target is! JObject) {
    return;
  }
  Pointer<Void> targetPtr = target.pointer.cast<Void>();
  Pointer<Utf8> targetName = target.className!.toNativeUtf8();
  Pointer<Utf8> funNamePtr = functionName.toNativeUtf8();
  CallBackManager.instance.registerCallBack(targetPtr, functionName, function);
  registerNativeCallback(
      targetPtr, targetName, funNamePtr, _callbackPtr, nativePort);
  calloc.free(targetName);
  calloc.free(funNamePtr);
}