示例#1
0
 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));
 }
示例#2
0
        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));
        }
示例#3
0
 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());
 }
示例#4
0
 internal RegisteredApp(RegisteredAppNative native)
 {
     AppInfo    = native.AppInfo;
     Containers = BindingUtils.CopyToObjectList <ContainerPermissions>(native.ContainersPtr, (int)native.ContainersLen);
 }