Flipper Zero Firmware
Loading...
Searching...
No Matches
plugin_manager.h
1#pragma once
2
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
13typedef struct PluginManager PluginManager;
14
15typedef enum {
16 PluginManagerErrorNone = 0,
17 PluginManagerErrorLoaderError,
18 PluginManagerErrorApplicationIdMismatch,
19 PluginManagerErrorAPIVersionMismatch,
20} PluginManagerError;
21
30PluginManager* plugin_manager_alloc(
31 const char* application_id,
32 uint32_t api_version,
33 const ElfApiInterface* api_interface);
34
39void plugin_manager_free(PluginManager* manager);
40
47PluginManagerError plugin_manager_load_single(PluginManager* manager, const char* path);
48
55PluginManagerError plugin_manager_load_all(PluginManager* manager, const char* path);
56
62uint32_t plugin_manager_get_count(PluginManager* manager);
63
70const FlipperAppPluginDescriptor* plugin_manager_get(PluginManager* manager, uint32_t index);
71
78const void* plugin_manager_get_ep(PluginManager* manager, uint32_t index);
79
80#ifdef __cplusplus
81}
82#endif
Flipper application.
Interface for ELF loader to resolve symbols.
Definition elf_api_interface.h:9
An object that describes a plugin - must be returned by plugin's entry point.
Definition flipper_application.h:127
Definition plugin_manager.c:17