github.com/primecitizens/pcz/std@v0.2.1/plat/js/webext/cecprivate/bindings/ffi_bindings.ts (about) 1 import { importModule, Application, heap, Pointer } from "@ffi"; 2 3 importModule("plat/js/webext/cecprivate", (A: Application) => { 4 const WEBEXT = typeof globalThis.browser === "undefined" ? globalThis.chrome : globalThis.browser; 5 6 return { 7 "constof_DisplayCecPowerState": (ref: heap.Ref<string>): number => { 8 const idx = [ 9 "error", 10 "adapterNotConfigured", 11 "noDevice", 12 "on", 13 "standby", 14 "transitioningToOn", 15 "transitioningToStandby", 16 "unknown", 17 ].indexOf(A.H.get(ref)); 18 return idx < 0 ? 0 : idx + 1; 19 }, 20 "has_QueryDisplayCecPowerState": (): heap.Ref<boolean> => { 21 if (WEBEXT?.cecPrivate && "queryDisplayCecPowerState" in WEBEXT?.cecPrivate) { 22 return A.H.TRUE; 23 } 24 return A.H.FALSE; 25 }, 26 "func_QueryDisplayCecPowerState": (fn: Pointer): void => { 27 A.store.Ref(fn, WEBEXT.cecPrivate.queryDisplayCecPowerState); 28 }, 29 "call_QueryDisplayCecPowerState": (retPtr: Pointer): void => { 30 const _ret = WEBEXT.cecPrivate.queryDisplayCecPowerState(); 31 A.store.Ref(retPtr, _ret); 32 }, 33 "try_QueryDisplayCecPowerState": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => { 34 try { 35 const _ret = WEBEXT.cecPrivate.queryDisplayCecPowerState(); 36 A.store.Ref(retPtr, _ret); 37 return A.H.TRUE; 38 } catch (err: any) { 39 A.store.Ref(errPtr, err); 40 return A.H.FALSE; 41 } 42 }, 43 "has_SendStandBy": (): heap.Ref<boolean> => { 44 if (WEBEXT?.cecPrivate && "sendStandBy" in WEBEXT?.cecPrivate) { 45 return A.H.TRUE; 46 } 47 return A.H.FALSE; 48 }, 49 "func_SendStandBy": (fn: Pointer): void => { 50 A.store.Ref(fn, WEBEXT.cecPrivate.sendStandBy); 51 }, 52 "call_SendStandBy": (retPtr: Pointer): void => { 53 const _ret = WEBEXT.cecPrivate.sendStandBy(); 54 A.store.Ref(retPtr, _ret); 55 }, 56 "try_SendStandBy": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => { 57 try { 58 const _ret = WEBEXT.cecPrivate.sendStandBy(); 59 A.store.Ref(retPtr, _ret); 60 return A.H.TRUE; 61 } catch (err: any) { 62 A.store.Ref(errPtr, err); 63 return A.H.FALSE; 64 } 65 }, 66 "has_SendWakeUp": (): heap.Ref<boolean> => { 67 if (WEBEXT?.cecPrivate && "sendWakeUp" in WEBEXT?.cecPrivate) { 68 return A.H.TRUE; 69 } 70 return A.H.FALSE; 71 }, 72 "func_SendWakeUp": (fn: Pointer): void => { 73 A.store.Ref(fn, WEBEXT.cecPrivate.sendWakeUp); 74 }, 75 "call_SendWakeUp": (retPtr: Pointer): void => { 76 const _ret = WEBEXT.cecPrivate.sendWakeUp(); 77 A.store.Ref(retPtr, _ret); 78 }, 79 "try_SendWakeUp": (retPtr: Pointer, errPtr: Pointer): heap.Ref<boolean> => { 80 try { 81 const _ret = WEBEXT.cecPrivate.sendWakeUp(); 82 A.store.Ref(retPtr, _ret); 83 return A.H.TRUE; 84 } catch (err: any) { 85 A.store.Ref(errPtr, err); 86 return A.H.FALSE; 87 } 88 }, 89 }; 90 });