1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// boot -- what build_rs.py builds into a program, handed to the platform layer before the
// program's own code runs
//
// Boot { app, manifest, assets } rt::main! fills it at compile time: JFGUI_APP (the app's
// folder name), JFGUI_PERMISSIONS (apps/NAME/PERMISSIONS or
// PERMISSIONS.<bin>), JFGUI_ASSETS (--cfg jfgui_assets, JFA1)
// set_handler(f) (plat's process entry) f sets the program up: its name,
// app://, its permissions
// start(&boot) -> Result<(), i32> (rt::main!) the handler's verdict; Err = exit code. Without
// a handler a manifest cannot be enforced: exit code 2
//
// rt knows nothing of plat; plat registers itself here, so console programs get the same
// start-up as ui::main! without the UI crate.
use crateSpinLock;
/// what build_rs.py built into the program
/// sets the program up -> Err(exit code)
pub type Handler = fn ;
static HANDLER: = new;
/// (plat's process entry) the function that sets a program up
/// (rt::main!) set the program up before its own code runs