Tactility/TactilityC/Source/tt_app_manifest.h
Ken Van Hoeylandt 3ea02d912f
Merge develop into main (#167)
- WiFi Connect app is now hidden by default, but accessible at the bottom of the WiFi Manage app when WiFi is turned on.
- WiFi service now turns on WiFi when calling connect() and WiFi is not on.
- Removed `blocking` option for `service::loader::startApp()`. This feature was unused and complex.
- Various apps: Moved private headers into Private/ folder.
- Various apps: created start() function for easy starting.
- Added documentation to all TactilityC APIs
- Refactored various `enum` into `class enum`
- Refactor M5Stack `initBoot()` (but VBus is still 0V for some reason)
2025-01-17 19:37:42 +01:00

46 lines
1.4 KiB
C

#pragma once
#include "tt_bundle.h"
#include <lvgl.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
AppResultOk,
AppResultCancelled,
AppResultError
} Result;
typedef void* AppContextHandle;
typedef void (*AppOnStart)(AppContextHandle app);
typedef void (*AppOnStop)(AppContextHandle app);
typedef void (*AppOnShow)(AppContextHandle app, lv_obj_t* parent);
typedef void (*AppOnHide)(AppContextHandle app);
typedef void (*AppOnResult)(AppContextHandle app, Result result, BundleHandle resultData);
/**
* This is used to register the manifest of an external app.
* @param[in] name the application's human-readable name
* @param[in] icon the optional application icon (you can use LV_SYMBOL_* too)
* @param[in] onStart called when the app is launched (started)
* @param[in] onStop called when the app is exited (stopped)
* @param[in] onShow called when the app is about to be shown to the user (app becomes visible)
* @param[in] onHide called when the app is about to be invisible to the user (e.g. other app was launched by this app, and this app goes to the background)
* @param[in] onResult called when the app receives a result after launching another app
*/
void tt_set_app_manifest(
const char* name,
const char* _Nullable icon,
AppOnStart onStart,
AppOnStop _Nullable onStop,
AppOnShow _Nullable onShow,
AppOnHide _Nullable onHide,
AppOnResult _Nullable onResult
);
#ifdef __cplusplus
}
#endif