* invalidate memmgt thread dict * Core: rollback memmgt thread dict invalidation * Dialogs: move api lock to toolbox * HAL: blocking usb API * HAL usb: fix api return data * HAL usb: api optimization * api lock: test results * Fix build errors * DAP Link: fix imports * Crash when malloc in ISR * Fix dap-link copypaste error * Moar memory management crashes. * Crash when malloc in IRQ, not ISR * USB-UART: Blocking VCP mode switch Co-authored-by: nminaylov <nm29719@gmail.com> Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1007 B
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
#include <furi.h>
 | 
						|
#include "dialogs_i.h"
 | 
						|
#include <toolbox/api_lock.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    const char* extension;
 | 
						|
    bool skip_assets;
 | 
						|
    bool hide_ext;
 | 
						|
    const Icon* file_icon;
 | 
						|
    FuriString* result_path;
 | 
						|
    FuriString* preselected_filename;
 | 
						|
    FileBrowserLoadItemCallback item_callback;
 | 
						|
    void* item_callback_context;
 | 
						|
} DialogsAppMessageDataFileBrowser;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    const DialogMessage* message;
 | 
						|
} DialogsAppMessageDataDialog;
 | 
						|
 | 
						|
typedef union {
 | 
						|
    DialogsAppMessageDataFileBrowser file_browser;
 | 
						|
    DialogsAppMessageDataDialog dialog;
 | 
						|
} DialogsAppData;
 | 
						|
 | 
						|
typedef union {
 | 
						|
    bool bool_value;
 | 
						|
    DialogMessageButton dialog_value;
 | 
						|
} DialogsAppReturn;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DialogsAppCommandFileBrowser,
 | 
						|
    DialogsAppCommandDialog,
 | 
						|
} DialogsAppCommand;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    FuriApiLock lock;
 | 
						|
    DialogsAppCommand command;
 | 
						|
    DialogsAppData* data;
 | 
						|
    DialogsAppReturn* return_data;
 | 
						|
} DialogsAppMessage;
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |