Macro live_reload::live_reload
[−]
[src]
macro_rules! live_reload { (host: $Host:ty; state: $State:ty; init: $init:ident; reload: $reload:ident; update: $update:ident; unload: $unload:ident; deinit: $deinit:ident;) => { ... }; }
Declare the API functions for a live-reloadable library.
This generates wrappers around higher-level lifecycle functions, and then exports them in a struct that the reloader can find.
You need to to specify the host API type, define a struct that represents
the state of your program, and then define methods for init
, reload
,
update
, unload
, and deinit
. init
and deinit
are called at the very
beginning and end of the program, and reload
and unload
are called
immediately after and before the library is loaded/reloaded. update
is
called by the wrapping application as needed.
Example
live_reload! { host: host_api::Host; state: State; init: my_init; reload: my_reload; update: my_update; unload: my_unload; deinit: my_deinit; }