Welcome to mirror list, hosted at ThFree Co, Russian Federation.

loader_i.h « loader « applications - github.com/ClusterM/flipperzero-firmware.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 27e721a7bec42cc8b8ca915544ba0623449d79c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "loader.h"

#include <furi.h>
#include <furi-hal.h>
#include <cli/cli.h>
#include <lib/toolbox/args.h>

#include <gui/view_dispatcher.h>

#include <gui/modules/menu.h>
#include <gui/modules/submenu.h>

#include <applications.h>
#include <assets_icons.h>

struct Loader {
    osThreadId_t loader_thread;
    FuriThread* thread;
    const FlipperApplication* current_app;
    string_t args;
    Cli* cli;
    Gui* gui;

    ViewDispatcher* view_dispatcher;
    Menu* primary_menu;
    Submenu* plugins_menu;
    Submenu* debug_menu;
    Submenu* settings_menu;

    size_t free_heap_size;
    osMutexId_t mutex;
    volatile uint8_t lock_semaphore;
};

typedef enum {
    LoaderMenuViewPrimary,
    LoaderMenuViewPlugins,
    LoaderMenuViewDebug,
    LoaderMenuViewSettings,
} LoaderMenuView;