 acb8508249
			
		
	
	
		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 |