| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #pragma once
- #include "flipper.h"
- // == Flipper Application control (flapp) ==
- typedef FlappHandler uint32_t; // TODO
- /*
- simply starts application. It call `app` entrypoint with `param` passed as argument
- Useful for daemon applications and pop-up.
- */
- FlappHandler* flapp_start(void(app*)(void*), char* name, void* param);
- /*
- swtich to other application.
- System **stop current app**, call `app` entrypoint with `param` passed
- as argument and save current application entrypoint to `prev` field in
- current application registry. Useful for UI or "active" application.
- */
- FlappHandler* flapp_switch(void(app*)(void*), char* name, void* param);
- /*
- Exit application
- stop current application (stop thread and clear application's stack),
- start application from `prev` entry in current application registry,
- cleanup current application registry.
- */
- void flapp_exit(void* param);
- /*
- stop specified `app` without returning to `prev` application.
- */
- bool flapp_kill(FlappHandler* app);
- /*
- If case one app depend on other, notify that app is ready.
- */
- void flapp_ready();
- /*
- Register on-exit callback.
- It called before app will be killed.
- Not recommended to use in user scenario, only for system purpose
- (unregister callbacks, release mutexes, etc.)
- */
- bool flapp_on_exit(void(cb*)(void*), void* ctx);
|