1 module libwasm.bindings.InstallTrigger;
2 
3 import libwasm.types;
4 
5 import memutils.ct: tuple;
6 @safe:
7 nothrow:
8 
9 alias InstallTriggerCallback = void delegate(string, short);
10 struct InstallTriggerData {
11   nothrow:
12   JsHandle handle;
13   alias handle this;
14   this(Handle h) {
15     this.handle = JsHandle(h);
16   }
17   static auto create() {
18     return InstallTriggerData(libwasm_add__object());
19   }
20   void URL()(string urL) {
21     Object_Call_string__void(this.handle, "URL", URL);
22   }
23   string URL()() {
24     return Object_Getter__string(this.handle, "URL");
25   }
26   void IconURL(T0)(scope auto ref Optional!(T0) iconURL) if (isTOrPointer!(T0, string)) {
27     Serialize_Object_VarArgCall!void(this.handle, "IconURL", "Optional!(string)", tuple(!IconURL.empty, IconURL.front));
28   }
29   Optional!(string) IconURL()() {
30     return Object_Getter__OptionalString(this.handle, "IconURL");
31   }
32   void Hash(T0)(scope auto ref Optional!(T0) hash) if (isTOrPointer!(T0, string)) {
33     Serialize_Object_VarArgCall!void(this.handle, "Hash", "Optional!(string)", tuple(!Hash.empty, Hash.front));
34   }
35   Optional!(string) Hash()() {
36     return Object_Getter__OptionalString(this.handle, "Hash");
37   }
38 }
39 struct InstallTriggerImpl {
40   nothrow:
41   JsHandle handle;
42   alias handle this;
43   this(Handle h) {
44     this.handle = JsHandle(h);
45   }
46   enum ushort SKIN = 1;
47   enum ushort LOCALE = 2;
48   enum ushort CONTENT = 4;
49   enum ushort PACKAGE = 7;
50   bool enabled()() {
51     return Object_Getter__bool(this.handle, "enabled");
52   }
53   bool updateEnabled()() {
54     return Object_Getter__bool(this.handle, "updateEnabled");
55   }
56   bool install()(scope ref Record!(string, SumType!(string, InstallTriggerData)) installs, InstallTriggerCallback callback) {
57     return InstallTriggerImpl_install(this.handle, installs.handle, callback);
58   }
59   bool install()(scope ref Record!(string, SumType!(string, InstallTriggerData)) installs) {
60     return Serialize_Object_VarArgCall!bool(this.handle, "install", "Handle", tuple(cast(Handle)installs.handle));
61   }
62   bool installChrome()(ushort type, string url, string skin) {
63     return Serialize_Object_VarArgCall!bool(this.handle, "installChrome", "ushort;string;string", tuple(type, url, skin));
64   }
65   bool startSoftwareUpdate()(string url, ushort flags) {
66     return Serialize_Object_VarArgCall!bool(this.handle, "startSoftwareUpdate", "string;ushort", tuple(url, flags));
67   }
68   bool startSoftwareUpdate()(string url) {
69     return Object_Call_string__bool(this.handle, "startSoftwareUpdate", url);
70   }
71 }
72 
73 
74 extern (C) bool InstallTriggerImpl_install(Handle, Handle, InstallTriggerCallback);