Files
Momentum-Firmware/applications/services/loader/loader.h
2023-05-06 02:53:21 +01:00

61 lines
1.2 KiB
C

#pragma once
#include <furi.h>
#include "loader_extmainapp.h"
#ifdef __cplusplus
extern "C" {
#endif
#define RECORD_LOADER "loader"
#define FAP_LOADER_APP_NAME "Apps"
typedef struct Loader Loader;
typedef enum {
LoaderStatusOk,
LoaderStatusErrorAppStarted,
LoaderStatusErrorUnknownApp,
LoaderStatusErrorInternal,
} LoaderStatus;
typedef enum {
LoaderEventTypeApplicationStarted,
LoaderEventTypeApplicationStopped
} LoaderEventType;
typedef struct {
LoaderEventType type;
} LoaderEvent;
/** Start application
* @param name - application name
* @param args - application arguments
* @retval true on success
*/
LoaderStatus loader_start(Loader* instance, const char* name, const char* args);
/** Lock application start
* @retval true on success
*/
bool loader_lock(Loader* instance);
/** Unlock application start */
void loader_unlock(Loader* instance);
/** Get loader lock status */
bool loader_is_locked(Loader* instance);
/** Show primary loader */
void loader_show_menu(Loader* instance);
/** Show settings menu */
void loader_show_settings(Loader* loader);
/** Show primary loader */
FuriPubSub* loader_get_pubsub(Loader* instance);
#ifdef __cplusplus
}
#endif