private static void OnFfiResultAppAccessListCb(IntPtr userData, IntPtr result, IntPtr appAccessPtr, UIntPtr appAccessLen) { BindingUtils.CompleteTask( userData, Marshal.PtrToStructure <FfiResult>(result), () => BindingUtils.CopyToObjectList <AppAccess>(appAccessPtr, (int)appAccessLen)); }
private static void OnDecodeIpcReqShareMDataCb(IntPtr userData, uint reqId, IntPtr authReq, IntPtr metadataPtr, UIntPtr metadataLen) { var tcs = BindingUtils.FromHandlePtr <TaskCompletionSource <IpcReq> >(userData); var shareMdReq = new ShareMDataReq(Marshal.PtrToStructure <ShareMDataReqNative>(authReq)); var metadataResponseList = BindingUtils.CopyToObjectList <MetadataResponse>(metadataPtr, (int)metadataLen); tcs.SetResult(new ShareMDataIpcReq(reqId, shareMdReq, metadataResponseList)); }
private static void OnFfiResultRegisteredAppListCb(IntPtr userData, IntPtr result, IntPtr registeredAppPtr, UIntPtr registeredAppLen) { BindingUtils.CompleteTask( userData, Marshal.PtrToStructure <FfiResult>(result), () => BindingUtils.CopyToObjectList <RegisteredAppNative>(registeredAppPtr, (int)registeredAppLen). Select(native => new RegisteredApp(native)).ToList()); }
internal RegisteredApp(RegisteredAppNative native) { AppInfo = native.AppInfo; Containers = BindingUtils.CopyToObjectList <ContainerPermissions>(native.ContainersPtr, (int)native.ContainersLen); }