RPC: Implement storage_stat_request (#800)
* RPC: Update protobuf sources * RPC: Implement storage_stat_request * RPC: Test storage_stat_request * FuriRecord: fix use after free in destroy method. * Furi: refactor PubSub and it's usage. Fix allocation in RPC. * FuriCore: fix memory leak in pubsub * FuriCore: update unsubscribe method signature in pubsub, make subscription structure lighter. * FuriCore: remove dead code Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
@@ -78,6 +78,8 @@ typedef struct _PB_Main {
|
||||
PB_Gui_StopScreenStreamRequest gui_stop_screen_stream_request;
|
||||
PB_Gui_ScreenStreamFrame gui_screen_stream_frame;
|
||||
PB_Gui_SendInputEventRequest gui_send_input_event_request;
|
||||
PB_Storage_StatRequest storage_stat_request;
|
||||
PB_Storage_StatResponse storage_stat_response;
|
||||
} content;
|
||||
} PB_Main;
|
||||
|
||||
@@ -124,6 +126,8 @@ extern "C" {
|
||||
#define PB_Main_gui_stop_screen_stream_request_tag 21
|
||||
#define PB_Main_gui_screen_stream_frame_tag 22
|
||||
#define PB_Main_gui_send_input_event_request_tag 23
|
||||
#define PB_Main_storage_stat_request_tag 24
|
||||
#define PB_Main_storage_stat_response_tag 25
|
||||
|
||||
/* Struct field encoding specification for nanopb */
|
||||
#define PB_Empty_FIELDLIST(X, a) \
|
||||
@@ -159,7 +163,9 @@ X(a, STATIC, ONEOF, MSG_W_CB, (content,stop_session,content.stop_session),
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_start_screen_stream_request,content.gui_start_screen_stream_request), 20) \
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_stop_screen_stream_request,content.gui_stop_screen_stream_request), 21) \
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_screen_stream_frame,content.gui_screen_stream_frame), 22) \
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_send_input_event_request,content.gui_send_input_event_request), 23)
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_send_input_event_request,content.gui_send_input_event_request), 23) \
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_stat_request,content.storage_stat_request), 24) \
|
||||
X(a, STATIC, ONEOF, MSG_W_CB, (content,storage_stat_response,content.storage_stat_response), 25)
|
||||
#define PB_Main_CALLBACK NULL
|
||||
#define PB_Main_DEFAULT NULL
|
||||
#define PB_Main_content_empty_MSGTYPE PB_Empty
|
||||
@@ -182,6 +188,8 @@ X(a, STATIC, ONEOF, MSG_W_CB, (content,gui_send_input_event_request,content
|
||||
#define PB_Main_content_gui_stop_screen_stream_request_MSGTYPE PB_Gui_StopScreenStreamRequest
|
||||
#define PB_Main_content_gui_screen_stream_frame_MSGTYPE PB_Gui_ScreenStreamFrame
|
||||
#define PB_Main_content_gui_send_input_event_request_MSGTYPE PB_Gui_SendInputEventRequest
|
||||
#define PB_Main_content_storage_stat_request_MSGTYPE PB_Storage_StatRequest
|
||||
#define PB_Main_content_storage_stat_response_MSGTYPE PB_Storage_StatResponse
|
||||
|
||||
extern const pb_msgdesc_t PB_Empty_msg;
|
||||
extern const pb_msgdesc_t PB_StopSession_msg;
|
||||
@@ -195,9 +203,9 @@ extern const pb_msgdesc_t PB_Main_msg;
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
#define PB_Empty_size 0
|
||||
#define PB_StopSession_size 0
|
||||
#if defined(PB_Storage_ListRequest_size) && defined(PB_Storage_ListResponse_size) && defined(PB_Storage_ReadRequest_size) && defined(PB_Storage_ReadResponse_size) && defined(PB_Storage_WriteRequest_size) && defined(PB_Storage_DeleteRequest_size) && defined(PB_Storage_MkdirRequest_size) && defined(PB_Storage_Md5sumRequest_size) && defined(PB_App_StartRequest_size) && defined(PB_Gui_ScreenStreamFrame_size)
|
||||
#if defined(PB_Storage_ListRequest_size) && defined(PB_Storage_ListResponse_size) && defined(PB_Storage_ReadRequest_size) && defined(PB_Storage_ReadResponse_size) && defined(PB_Storage_WriteRequest_size) && defined(PB_Storage_DeleteRequest_size) && defined(PB_Storage_MkdirRequest_size) && defined(PB_Storage_Md5sumRequest_size) && defined(PB_App_StartRequest_size) && defined(PB_Gui_ScreenStreamFrame_size) && defined(PB_Storage_StatRequest_size) && defined(PB_Storage_StatResponse_size)
|
||||
#define PB_Main_size (10 + sizeof(union PB_Main_content_size_union))
|
||||
union PB_Main_content_size_union {char f7[(6 + PB_Storage_ListRequest_size)]; char f8[(6 + PB_Storage_ListResponse_size)]; char f9[(6 + PB_Storage_ReadRequest_size)]; char f10[(6 + PB_Storage_ReadResponse_size)]; char f11[(6 + PB_Storage_WriteRequest_size)]; char f12[(6 + PB_Storage_DeleteRequest_size)]; char f13[(6 + PB_Storage_MkdirRequest_size)]; char f14[(6 + PB_Storage_Md5sumRequest_size)]; char f16[(7 + PB_App_StartRequest_size)]; char f22[(7 + PB_Gui_ScreenStreamFrame_size)]; char f0[36];};
|
||||
union PB_Main_content_size_union {char f7[(6 + PB_Storage_ListRequest_size)]; char f8[(6 + PB_Storage_ListResponse_size)]; char f9[(6 + PB_Storage_ReadRequest_size)]; char f10[(6 + PB_Storage_ReadResponse_size)]; char f11[(6 + PB_Storage_WriteRequest_size)]; char f12[(6 + PB_Storage_DeleteRequest_size)]; char f13[(6 + PB_Storage_MkdirRequest_size)]; char f14[(6 + PB_Storage_Md5sumRequest_size)]; char f16[(7 + PB_App_StartRequest_size)]; char f22[(7 + PB_Gui_ScreenStreamFrame_size)]; char f24[(7 + PB_Storage_StatRequest_size)]; char f25[(7 + PB_Storage_StatResponse_size)]; char f0[36];};
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@@ -9,6 +9,12 @@
|
||||
PB_BIND(PB_Storage_File, PB_Storage_File, AUTO)
|
||||
|
||||
|
||||
PB_BIND(PB_Storage_StatRequest, PB_Storage_StatRequest, AUTO)
|
||||
|
||||
|
||||
PB_BIND(PB_Storage_StatResponse, PB_Storage_StatResponse, AUTO)
|
||||
|
||||
|
||||
PB_BIND(PB_Storage_ListRequest, PB_Storage_ListRequest, AUTO)
|
||||
|
||||
|
||||
|
@@ -32,6 +32,10 @@ typedef struct _PB_Storage_ReadRequest {
|
||||
char *path;
|
||||
} PB_Storage_ReadRequest;
|
||||
|
||||
typedef struct _PB_Storage_StatRequest {
|
||||
char *path;
|
||||
} PB_Storage_StatRequest;
|
||||
|
||||
typedef struct _PB_Storage_DeleteRequest {
|
||||
char *path;
|
||||
bool recursive;
|
||||
@@ -58,6 +62,11 @@ typedef struct _PB_Storage_ReadResponse {
|
||||
PB_Storage_File file;
|
||||
} PB_Storage_ReadResponse;
|
||||
|
||||
typedef struct _PB_Storage_StatResponse {
|
||||
bool has_file;
|
||||
PB_Storage_File file;
|
||||
} PB_Storage_StatResponse;
|
||||
|
||||
typedef struct _PB_Storage_WriteRequest {
|
||||
char *path;
|
||||
bool has_file;
|
||||
@@ -77,6 +86,8 @@ extern "C" {
|
||||
|
||||
/* Initializer values for message structs */
|
||||
#define PB_Storage_File_init_default {_PB_Storage_File_FileType_MIN, NULL, 0, NULL}
|
||||
#define PB_Storage_StatRequest_init_default {NULL}
|
||||
#define PB_Storage_StatResponse_init_default {false, PB_Storage_File_init_default}
|
||||
#define PB_Storage_ListRequest_init_default {NULL}
|
||||
#define PB_Storage_ListResponse_init_default {0, {PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default, PB_Storage_File_init_default}}
|
||||
#define PB_Storage_ReadRequest_init_default {NULL}
|
||||
@@ -87,6 +98,8 @@ extern "C" {
|
||||
#define PB_Storage_Md5sumRequest_init_default {NULL}
|
||||
#define PB_Storage_Md5sumResponse_init_default {""}
|
||||
#define PB_Storage_File_init_zero {_PB_Storage_File_FileType_MIN, NULL, 0, NULL}
|
||||
#define PB_Storage_StatRequest_init_zero {NULL}
|
||||
#define PB_Storage_StatResponse_init_zero {false, PB_Storage_File_init_zero}
|
||||
#define PB_Storage_ListRequest_init_zero {NULL}
|
||||
#define PB_Storage_ListResponse_init_zero {0, {PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero, PB_Storage_File_init_zero}}
|
||||
#define PB_Storage_ReadRequest_init_zero {NULL}
|
||||
@@ -102,6 +115,7 @@ extern "C" {
|
||||
#define PB_Storage_Md5sumRequest_path_tag 1
|
||||
#define PB_Storage_MkdirRequest_path_tag 1
|
||||
#define PB_Storage_ReadRequest_path_tag 1
|
||||
#define PB_Storage_StatRequest_path_tag 1
|
||||
#define PB_Storage_DeleteRequest_path_tag 1
|
||||
#define PB_Storage_DeleteRequest_recursive_tag 2
|
||||
#define PB_Storage_File_type_tag 1
|
||||
@@ -111,6 +125,7 @@ extern "C" {
|
||||
#define PB_Storage_Md5sumResponse_md5sum_tag 1
|
||||
#define PB_Storage_ListResponse_file_tag 1
|
||||
#define PB_Storage_ReadResponse_file_tag 1
|
||||
#define PB_Storage_StatResponse_file_tag 1
|
||||
#define PB_Storage_WriteRequest_path_tag 1
|
||||
#define PB_Storage_WriteRequest_file_tag 2
|
||||
|
||||
@@ -123,6 +138,17 @@ X(a, POINTER, SINGULAR, BYTES, data, 4)
|
||||
#define PB_Storage_File_CALLBACK NULL
|
||||
#define PB_Storage_File_DEFAULT NULL
|
||||
|
||||
#define PB_Storage_StatRequest_FIELDLIST(X, a) \
|
||||
X(a, POINTER, SINGULAR, STRING, path, 1)
|
||||
#define PB_Storage_StatRequest_CALLBACK NULL
|
||||
#define PB_Storage_StatRequest_DEFAULT NULL
|
||||
|
||||
#define PB_Storage_StatResponse_FIELDLIST(X, a) \
|
||||
X(a, STATIC, OPTIONAL, MESSAGE, file, 1)
|
||||
#define PB_Storage_StatResponse_CALLBACK NULL
|
||||
#define PB_Storage_StatResponse_DEFAULT NULL
|
||||
#define PB_Storage_StatResponse_file_MSGTYPE PB_Storage_File
|
||||
|
||||
#define PB_Storage_ListRequest_FIELDLIST(X, a) \
|
||||
X(a, POINTER, SINGULAR, STRING, path, 1)
|
||||
#define PB_Storage_ListRequest_CALLBACK NULL
|
||||
@@ -174,6 +200,8 @@ X(a, STATIC, SINGULAR, STRING, md5sum, 1)
|
||||
#define PB_Storage_Md5sumResponse_DEFAULT NULL
|
||||
|
||||
extern const pb_msgdesc_t PB_Storage_File_msg;
|
||||
extern const pb_msgdesc_t PB_Storage_StatRequest_msg;
|
||||
extern const pb_msgdesc_t PB_Storage_StatResponse_msg;
|
||||
extern const pb_msgdesc_t PB_Storage_ListRequest_msg;
|
||||
extern const pb_msgdesc_t PB_Storage_ListResponse_msg;
|
||||
extern const pb_msgdesc_t PB_Storage_ReadRequest_msg;
|
||||
@@ -186,6 +214,8 @@ extern const pb_msgdesc_t PB_Storage_Md5sumResponse_msg;
|
||||
|
||||
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
|
||||
#define PB_Storage_File_fields &PB_Storage_File_msg
|
||||
#define PB_Storage_StatRequest_fields &PB_Storage_StatRequest_msg
|
||||
#define PB_Storage_StatResponse_fields &PB_Storage_StatResponse_msg
|
||||
#define PB_Storage_ListRequest_fields &PB_Storage_ListRequest_msg
|
||||
#define PB_Storage_ListResponse_fields &PB_Storage_ListResponse_msg
|
||||
#define PB_Storage_ReadRequest_fields &PB_Storage_ReadRequest_msg
|
||||
@@ -198,6 +228,8 @@ extern const pb_msgdesc_t PB_Storage_Md5sumResponse_msg;
|
||||
|
||||
/* Maximum encoded size of messages (where known) */
|
||||
/* PB_Storage_File_size depends on runtime parameters */
|
||||
/* PB_Storage_StatRequest_size depends on runtime parameters */
|
||||
/* PB_Storage_StatResponse_size depends on runtime parameters */
|
||||
/* PB_Storage_ListRequest_size depends on runtime parameters */
|
||||
/* PB_Storage_ListResponse_size depends on runtime parameters */
|
||||
/* PB_Storage_ReadRequest_size depends on runtime parameters */
|
||||
|
Reference in New Issue
Block a user