acb8508249
* Dialogs: fix queued message lock * Dialogs: file select, fix queued message lock * Dialogs: file select, free context after freeing callback holder * Dialogs: better lock, separated wait and free Co-authored-by: あく <alleteam@gmail.com>
46 lines
888 B
C
46 lines
888 B
C
#pragma once
|
|
#include <furi.h>
|
|
#include "dialogs-i.h"
|
|
#include "dialogs-api-lock.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct {
|
|
const char* path;
|
|
const char* extension;
|
|
char* result;
|
|
uint8_t result_size;
|
|
const char* preselected_filename;
|
|
} DialogsAppMessageDataFileSelect;
|
|
|
|
typedef struct {
|
|
const DialogMessage* message;
|
|
} DialogsAppMessageDataDialog;
|
|
|
|
typedef union {
|
|
DialogsAppMessageDataFileSelect file_select;
|
|
DialogsAppMessageDataDialog dialog;
|
|
} DialogsAppData;
|
|
|
|
typedef union {
|
|
bool bool_value;
|
|
DialogMessageButton dialog_value;
|
|
} DialogsAppReturn;
|
|
|
|
typedef enum {
|
|
DialogsAppCommandFileOpen,
|
|
DialogsAppCommandDialog,
|
|
} DialogsAppCommand;
|
|
|
|
typedef struct {
|
|
FuriApiLock lock;
|
|
DialogsAppCommand command;
|
|
DialogsAppData* data;
|
|
DialogsAppReturn* return_data;
|
|
} DialogsAppMessage;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif |