github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/certificateproviderinternal/bindings/ffi_bindings.ts (about)

     1  import { importModule, Application, heap, Pointer } from "@ffi";
     2  
     3  importModule("plat/js/webext/certificateproviderinternal", (A: Application) => {
     4    const WEBEXT = typeof globalThis.browser === "undefined" ? globalThis.chrome : globalThis.browser;
     5  
     6    return {
     7      "has_ReportCertificates": (): heap.Ref<boolean> => {
     8        if (WEBEXT?.certificateProviderInternal && "reportCertificates" in WEBEXT?.certificateProviderInternal) {
     9          return A.H.TRUE;
    10        }
    11        return A.H.FALSE;
    12      },
    13      "func_ReportCertificates": (fn: Pointer): void => {
    14        A.store.Ref(fn, WEBEXT.certificateProviderInternal.reportCertificates);
    15      },
    16      "call_ReportCertificates": (retPtr: Pointer, requestId: number, certificates: heap.Ref<object>): void => {
    17        const _ret = WEBEXT.certificateProviderInternal.reportCertificates(requestId, A.H.get<object>(certificates));
    18        A.store.Ref(retPtr, _ret);
    19      },
    20      "try_ReportCertificates": (
    21        retPtr: Pointer,
    22        errPtr: Pointer,
    23        requestId: number,
    24        certificates: heap.Ref<object>
    25      ): heap.Ref<boolean> => {
    26        try {
    27          const _ret = WEBEXT.certificateProviderInternal.reportCertificates(requestId, A.H.get<object>(certificates));
    28          A.store.Ref(retPtr, _ret);
    29          return A.H.TRUE;
    30        } catch (err: any) {
    31          A.store.Ref(errPtr, err);
    32          return A.H.FALSE;
    33        }
    34      },
    35      "has_ReportSignature": (): heap.Ref<boolean> => {
    36        if (WEBEXT?.certificateProviderInternal && "reportSignature" in WEBEXT?.certificateProviderInternal) {
    37          return A.H.TRUE;
    38        }
    39        return A.H.FALSE;
    40      },
    41      "func_ReportSignature": (fn: Pointer): void => {
    42        A.store.Ref(fn, WEBEXT.certificateProviderInternal.reportSignature);
    43      },
    44      "call_ReportSignature": (retPtr: Pointer, requestId: number, signature: heap.Ref<object>): void => {
    45        const _ret = WEBEXT.certificateProviderInternal.reportSignature(requestId, A.H.get<object>(signature));
    46        A.store.Ref(retPtr, _ret);
    47      },
    48      "try_ReportSignature": (
    49        retPtr: Pointer,
    50        errPtr: Pointer,
    51        requestId: number,
    52        signature: heap.Ref<object>
    53      ): heap.Ref<boolean> => {
    54        try {
    55          const _ret = WEBEXT.certificateProviderInternal.reportSignature(requestId, A.H.get<object>(signature));
    56          A.store.Ref(retPtr, _ret);
    57          return A.H.TRUE;
    58        } catch (err: any) {
    59          A.store.Ref(errPtr, err);
    60          return A.H.FALSE;
    61        }
    62      },
    63    };
    64  });