Explorar el Código

From C++ to C.

Cody Tolene hace 1 año
padre
commit
112257438f

+ 6 - 6
camera_suite.cpp → camera_suite.c

@@ -2,27 +2,27 @@
 
 bool camera_suite_custom_event_callback(void* context, uint32_t event) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     return scene_manager_handle_custom_event(app->scene_manager, event);
 }
 
 void camera_suite_tick_event_callback(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     scene_manager_handle_tick_event(app->scene_manager);
 }
 
 // Leave app if back button pressed.
 bool camera_suite_navigation_event_callback(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     return scene_manager_handle_back_event(app->scene_manager);
 }
 
 CameraSuite* camera_suite_app_alloc() {
-    CameraSuite* app = static_cast<CameraSuite*>(malloc(sizeof(CameraSuite)));
-    app->gui = static_cast<Gui*>(furi_record_open(RECORD_GUI));
-    app->notification = static_cast<NotificationApp*>(furi_record_open(RECORD_NOTIFICATION));
+    CameraSuite* app = malloc(sizeof(CameraSuite));
+    app->gui = furi_record_open(RECORD_GUI);
+    app->notification = furi_record_open(RECORD_NOTIFICATION);
 
     // Turn backlight on.
     notification_message(app->notification, &sequence_display_backlight_on);

+ 3 - 3
helpers/camera_suite_haptic.cpp → helpers/camera_suite_haptic.c

@@ -2,7 +2,7 @@
 #include "camera_suite_haptic.h"
 
 void camera_suite_play_happy_bump(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->haptic != 1) {
         return;
     }
@@ -12,7 +12,7 @@ void camera_suite_play_happy_bump(void* context) {
 }
 
 void camera_suite_play_bad_bump(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->haptic != 1) {
         return;
     }
@@ -22,7 +22,7 @@ void camera_suite_play_bad_bump(void* context) {
 }
 
 void camera_suite_play_long_bump(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->haptic != 1) {
         return;
     }

+ 2 - 2
helpers/camera_suite_led.cpp → helpers/camera_suite_led.c

@@ -2,7 +2,7 @@
 #include "camera_suite_led.h"
 
 void camera_suite_led_set_rgb(void* context, int red, int green, int blue) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->led != 1) {
         return;
     }
@@ -29,7 +29,7 @@ void camera_suite_led_set_rgb(void* context, int red, int green, int blue) {
 }
 
 void camera_suite_led_reset(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     notification_message(app->notification, &sequence_reset_red);
     notification_message(app->notification, &sequence_reset_green);
     notification_message(app->notification, &sequence_reset_blue);

+ 2 - 2
helpers/camera_suite_speaker.cpp → helpers/camera_suite_speaker.c

@@ -4,7 +4,7 @@
 #define NOTE_INPUT 587.33f
 
 void camera_suite_play_input_sound(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->speaker != 1) {
         return;
     }
@@ -15,7 +15,7 @@ void camera_suite_play_input_sound(void* context) {
 }
 
 void camera_suite_stop_all_sound(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     if(app->speaker != 1) {
         return;
     }

+ 3 - 3
helpers/camera_suite_storage.cpp → helpers/camera_suite_storage.c

@@ -1,7 +1,7 @@
 #include "camera_suite_storage.h"
 
 static Storage* camera_suite_open_storage() {
-    return static_cast<Storage*>(furi_record_open(RECORD_STORAGE));
+    return furi_record_open(RECORD_STORAGE);
 }
 
 static void camera_suite_close_storage() {
@@ -15,7 +15,7 @@ static void camera_suite_close_config_file(FlipperFormat* file) {
 }
 
 void camera_suite_save_settings(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
 
     FURI_LOG_D(TAG, "Saving Settings");
     Storage* storage = camera_suite_open_storage();
@@ -70,7 +70,7 @@ void camera_suite_save_settings(void* context) {
 }
 
 void camera_suite_read_settings(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     Storage* storage = camera_suite_open_storage();
     FlipperFormat* fff_file = flipper_format_file_alloc(storage);
 

+ 0 - 0
scenes/camera_suite_scene.cpp → scenes/camera_suite_scene.c


+ 7 - 7
scenes/camera_suite_scene_app_settings.cpp → scenes/camera_suite_scene_app_settings.c

@@ -32,7 +32,7 @@ const uint32_t led_value[2] = {
 };
 
 static void camera_suite_scene_app_settings_set_haptic(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
 
     variable_item_set_current_value_text(item, haptic_text[index]);
@@ -40,26 +40,26 @@ static void camera_suite_scene_app_settings_set_haptic(VariableItem* item) {
 }
 
 static void camera_suite_scene_app_settings_set_speaker(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
     variable_item_set_current_value_text(item, speaker_text[index]);
     app->speaker = speaker_value[index];
 }
 
 static void camera_suite_scene_app_settings_set_led(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
     variable_item_set_current_value_text(item, led_text[index]);
     app->led = led_value[index];
 }
 
 void camera_suite_scene_app_settings_submenu_callback(void* context, uint32_t index) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, index);
 }
 
 void camera_suite_scene_app_settings_on_enter(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     VariableItem* item;
     uint8_t value_index;
 
@@ -96,7 +96,7 @@ void camera_suite_scene_app_settings_on_enter(void* context) {
 }
 
 bool camera_suite_scene_app_settings_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
     bool consumed = false;
     if(event.type == SceneManagerEventTypeCustom) {
@@ -105,7 +105,7 @@ bool camera_suite_scene_app_settings_on_event(void* context, SceneManagerEvent e
 }
 
 void camera_suite_scene_app_settings_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     variable_item_list_set_selected_item(app->variable_item_list, 0);
     variable_item_list_reset(app->variable_item_list);
 }

+ 8 - 8
scenes/camera_suite_scene_cam_settings.cpp → scenes/camera_suite_scene_cam_settings.c

@@ -50,7 +50,7 @@ const uint32_t jpeg_value[2] = {
 };
 
 static void camera_suite_scene_cam_settings_set_camera_orientation(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
 
     variable_item_set_current_value_text(item, orientation_text[index]);
@@ -58,7 +58,7 @@ static void camera_suite_scene_cam_settings_set_camera_orientation(VariableItem*
 }
 
 static void camera_suite_scene_cam_settings_set_camera_dither(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
 
     variable_item_set_current_value_text(item, dither_text[index]);
@@ -66,7 +66,7 @@ static void camera_suite_scene_cam_settings_set_camera_dither(VariableItem* item
 }
 
 static void camera_suite_scene_cam_settings_set_flash(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
 
     variable_item_set_current_value_text(item, flash_text[index]);
@@ -74,7 +74,7 @@ static void camera_suite_scene_cam_settings_set_flash(VariableItem* item) {
 }
 
 static void camera_suite_scene_cam_settings_set_jpeg(VariableItem* item) {
-    CameraSuite* app = static_cast<CameraSuite*>(variable_item_get_context(item));
+    CameraSuite* app = variable_item_get_context(item);
     uint8_t index = variable_item_get_current_value_index(item);
 
     variable_item_set_current_value_text(item, jpeg_text[index]);
@@ -82,12 +82,12 @@ static void camera_suite_scene_cam_settings_set_jpeg(VariableItem* item) {
 }
 
 void camera_suite_scene_cam_settings_submenu_callback(void* context, uint32_t index) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, index);
 }
 
 void camera_suite_scene_cam_settings_on_enter(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     VariableItem* item;
     uint8_t value_index;
 
@@ -138,7 +138,7 @@ void camera_suite_scene_cam_settings_on_enter(void* context) {
 }
 
 bool camera_suite_scene_cam_settings_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
     bool consumed = false;
     if(event.type == SceneManagerEventTypeCustom) {
@@ -147,7 +147,7 @@ bool camera_suite_scene_cam_settings_on_event(void* context, SceneManagerEvent e
 }
 
 void camera_suite_scene_cam_settings_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     variable_item_list_set_selected_item(app->variable_item_list, 0);
     variable_item_list_reset(app->variable_item_list);
 }

+ 4 - 4
scenes/camera_suite_scene_camera.cpp → scenes/camera_suite_scene_camera.c

@@ -4,20 +4,20 @@
 
 void camera_suite_view_camera_callback(CameraSuiteCustomEvent event, void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, event);
 }
 
 void camera_suite_scene_camera_on_enter(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     camera_suite_view_camera_set_callback(
         app->camera_suite_view_camera, camera_suite_view_camera_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdCamera);
 }
 
 bool camera_suite_scene_camera_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     bool consumed = false;
 
     if(event.type == SceneManagerEventTypeCustom) {
@@ -47,6 +47,6 @@ bool camera_suite_scene_camera_on_event(void* context, SceneManagerEvent event)
 }
 
 void camera_suite_scene_camera_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
 }

+ 4 - 4
scenes/camera_suite_scene_guide.cpp → scenes/camera_suite_scene_guide.c

@@ -4,20 +4,20 @@
 
 void camera_suite_view_guide_callback(CameraSuiteCustomEvent event, void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, event);
 }
 
 void camera_suite_scene_guide_on_enter(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     camera_suite_view_guide_set_callback(
         app->camera_suite_view_guide, camera_suite_view_guide_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdGuide);
 }
 
 bool camera_suite_scene_guide_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     bool consumed = false;
 
     if(event.type == SceneManagerEventTypeCustom) {
@@ -46,6 +46,6 @@ bool camera_suite_scene_guide_on_event(void* context, SceneManagerEvent event) {
 }
 
 void camera_suite_scene_guide_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
 }

+ 4 - 4
scenes/camera_suite_scene_menu.cpp → scenes/camera_suite_scene_menu.c

@@ -14,12 +14,12 @@ enum SubmenuIndex {
 };
 
 void camera_suite_scene_menu_submenu_callback(void* context, uint32_t index) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, index);
 }
 
 void camera_suite_scene_menu_on_enter(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
 
     submenu_add_item(
         app->submenu,
@@ -63,7 +63,7 @@ void camera_suite_scene_menu_on_enter(void* context) {
 }
 
 bool camera_suite_scene_menu_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
     if(event.type == SceneManagerEventTypeBack) {
         // Exit application.
@@ -102,6 +102,6 @@ bool camera_suite_scene_menu_on_event(void* context, SceneManagerEvent event) {
 }
 
 void camera_suite_scene_menu_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     submenu_reset(app->submenu);
 }

+ 4 - 4
scenes/camera_suite_scene_start.cpp → scenes/camera_suite_scene_start.c

@@ -4,20 +4,20 @@
 
 void camera_suite_scene_start_callback(CameraSuiteCustomEvent event, void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, event);
 }
 
 void camera_suite_scene_start_on_enter(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     camera_suite_view_start_set_callback(
         app->camera_suite_view_start, camera_suite_scene_start_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdStartscreen);
 }
 
 bool camera_suite_scene_start_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     bool consumed = false;
 
     if(event.type == SceneManagerEventTypeCustom) {
@@ -50,6 +50,6 @@ bool camera_suite_scene_start_on_event(void* context, SceneManagerEvent event) {
 }
 
 void camera_suite_scene_start_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
 }

+ 4 - 4
scenes/camera_suite_scene_wifi_camera.cpp → scenes/camera_suite_scene_wifi_camera.c

@@ -4,20 +4,20 @@
 
 void camera_suite_view_wifi_camera_callback(CameraSuiteCustomEvent event, void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     view_dispatcher_send_custom_event(app->view_dispatcher, event);
 }
 
 void camera_suite_scene_wifi_camera_on_enter(void* context) {
     furi_assert(context);
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     camera_suite_view_wifi_camera_set_callback(
         app->camera_suite_view_wifi_camera, camera_suite_view_wifi_camera_callback, app);
     view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdWiFiCamera);
 }
 
 bool camera_suite_scene_wifi_camera_on_event(void* context, SceneManagerEvent event) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     bool consumed = false;
 
     if(event.type == SceneManagerEventTypeCustom) {
@@ -46,6 +46,6 @@ bool camera_suite_scene_wifi_camera_on_event(void* context, SceneManagerEvent ev
 }
 
 void camera_suite_scene_wifi_camera_on_exit(void* context) {
-    CameraSuite* app = static_cast<CameraSuite*>(context);
+    CameraSuite* app = context;
     UNUSED(app);
 }

+ 31 - 41
views/camera_suite_view_camera.cpp → views/camera_suite_view_camera.c

@@ -33,7 +33,7 @@ static void camera_suite_view_camera_draw(Canvas* canvas, void* uart_dump_model)
     furi_assert(canvas);
     furi_assert(uart_dump_model);
 
-    UartDumpModel* model = static_cast<UartDumpModel*>(uart_dump_model);
+    UartDumpModel* model = uart_dump_model;
 
     // Clear the screen.
     canvas_set_color(canvas, ColorBlack);
@@ -152,10 +152,10 @@ static void camera_suite_view_camera_draw(Canvas* canvas, void* uart_dump_model)
 static void save_image_to_flipper_sd_card(void* uart_dump_model) {
     furi_assert(uart_dump_model);
 
-    UartDumpModel* model = static_cast<UartDumpModel*>(uart_dump_model);
+    UartDumpModel* model = uart_dump_model;
 
     // This pointer is used to access the storage.
-    Storage* storage = static_cast<Storage*>(furi_record_open(RECORD_STORAGE));
+    Storage* storage = furi_record_open(RECORD_STORAGE);
 
     // This pointer is used to access the filesystem.
     File* file = storage_file_alloc(storage);
@@ -245,16 +245,15 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
     furi_assert(camera_view_instance);
     furi_assert(input_event);
 
-    CameraSuiteViewCamera* instance = static_cast<CameraSuiteViewCamera*>(camera_view_instance);
+    CameraSuiteViewCamera* instance = camera_view_instance;
     uint8_t data[1];
 
     if(input_event->type == InputTypeRelease) {
         if(input_event->key) {
             // Stop all sounds, reset the LED.
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     UNUSED(model);
                     camera_suite_play_bad_bump(instance->context);
@@ -266,10 +265,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
     } else if(input_event->type == InputTypePress) {
         switch(input_event->key) {
         case InputKeyBack: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     UNUSED(model);
 
@@ -285,10 +283,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
             break;
         }
         case InputKeyLeft: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     // Play sound.
                     camera_suite_play_happy_bump(instance->context);
@@ -317,10 +314,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
             break;
         }
         case InputKeyRight: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     // Play sound.
                     camera_suite_play_happy_bump(instance->context);
@@ -349,10 +345,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
             break;
         }
         case InputKeyUp: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     UNUSED(model);
 
@@ -372,10 +367,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
             break;
         }
         case InputKeyDown: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     UNUSED(model);
 
@@ -395,10 +389,9 @@ static bool camera_suite_view_camera_input(InputEvent* input_event, void* camera
             break;
         }
         case InputKeyOk: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                UartDumpModel*,
-                model,
+                UartDumpModel * model,
                 {
                     // Play sound.
                     camera_suite_play_long_bump(instance->context);
@@ -434,12 +427,12 @@ static void camera_suite_view_camera_exit(void* camera_view_instance) {
 static void camera_suite_view_camera_enter(void* camera_view_instance) {
     furi_assert(camera_view_instance);
 
-    CameraSuiteViewCamera* instance = static_cast<CameraSuiteViewCamera*>(camera_view_instance);
+    CameraSuiteViewCamera* instance = camera_view_instance;
 
     uint8_t data[1];
 
     // Get the camera suite instance context.
-    CameraSuite* app_context = static_cast<CameraSuite*>(instance->context);
+    CameraSuite* app_context = instance->context;
 
     // Start serial stream to Flipper Zero.
     data[0] = 'S';
@@ -462,10 +455,9 @@ static void camera_suite_view_camera_enter(void* camera_view_instance) {
     furi_hal_serial_tx(instance->camera_serial_handle, data, 1);
     furi_delay_ms(50);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        UartDumpModel*,
-        model,
+        UartDumpModel * model,
         { camera_suite_view_camera_model_init(model, app_context); },
         true);
 }
@@ -477,7 +469,7 @@ static void camera_on_irq_cb(
     furi_assert(handle);
     furi_assert(camera_view_instance);
 
-    CameraSuiteViewCamera* instance = static_cast<CameraSuiteViewCamera*>(camera_view_instance);
+    CameraSuiteViewCamera* instance = camera_view_instance;
 
     if(event == FuriHalSerialRxEventData) {
         uint8_t data = furi_hal_serial_async_rx(handle);
@@ -537,7 +529,7 @@ static void process_ringbuffer(UartDumpModel* model, uint8_t const byte) {
 static int32_t camera_suite_camera_worker(void* camera_view_instance) {
     furi_assert(camera_view_instance);
 
-    CameraSuiteViewCamera* instance = static_cast<CameraSuiteViewCamera*>(camera_view_instance);
+    CameraSuiteViewCamera* instance = camera_view_instance;
 
     while(1) {
         // Wait for any event on the worker thread.
@@ -562,10 +554,9 @@ static int32_t camera_suite_camera_worker(void* camera_view_instance) {
                 length =
                     furi_stream_buffer_receive(instance->camera_rx_stream, data, buffer_size, 0);
                 if(length > 0) {
-                    with_view_model_cpp(
+                    with_view_model(
                         instance->view,
-                        UartDumpModel*,
-                        model,
+                        UartDumpModel * model,
                         {
                             // Process the data.
                             for(size_t i = 0; i < length; i++) {
@@ -576,8 +567,8 @@ static int32_t camera_suite_camera_worker(void* camera_view_instance) {
                 }
             } while(length > 0);
 
-            with_view_model_cpp(
-                instance->view, UartDumpModel*, model, { UNUSED(model); }, true);
+            with_view_model(
+                instance->view, UartDumpModel * model, { UNUSED(model); }, true);
         }
     }
 
@@ -586,8 +577,7 @@ static int32_t camera_suite_camera_worker(void* camera_view_instance) {
 
 CameraSuiteViewCamera* camera_suite_view_camera_alloc() {
     // Allocate memory for the instance
-    CameraSuiteViewCamera* instance =
-        static_cast<CameraSuiteViewCamera*>(malloc(sizeof(CameraSuiteViewCamera)));
+    CameraSuiteViewCamera* instance = malloc(sizeof(CameraSuiteViewCamera));
 
     // Allocate the view object
     instance->view = view_alloc();
@@ -646,8 +636,8 @@ void camera_suite_view_camera_free(CameraSuiteViewCamera* instance) {
     furi_hal_serial_deinit(instance->camera_serial_handle);
     furi_hal_serial_control_release(instance->camera_serial_handle);
 
-    with_view_model_cpp(
-        instance->view, UartDumpModel*, model, { UNUSED(model); }, true);
+    with_view_model(
+        instance->view, UartDumpModel * model, { UNUSED(model); }, true);
     view_free(instance->view);
     free(instance);
 }

+ 11 - 14
views/camera_suite_view_guide.cpp → views/camera_suite_view_guide.c

@@ -46,15 +46,14 @@ static void camera_suite_view_guide_model_init(CameraSuiteViewGuideModel* const
 bool camera_suite_view_guide_input(InputEvent* event, void* grid_view_instance) {
     furi_assert(grid_view_instance);
 
-    CameraSuiteViewGuide* instance = static_cast<CameraSuiteViewGuide*>(grid_view_instance);
+    CameraSuiteViewGuide* instance = grid_view_instance;
 
     if(event->type == InputTypeRelease) {
         switch(event->key) {
         case InputKeyBack:
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                CameraSuiteViewGuideModel*,
-                model,
+                CameraSuiteViewGuideModel * model,
                 {
                     UNUSED(model);
                     // Go back to the main menu.
@@ -81,17 +80,16 @@ void camera_suite_view_guide_exit(void* context) {
 
 void camera_suite_view_guide_enter(void* context) {
     furi_assert(context);
-    CameraSuiteViewGuide* instance = (CameraSuiteViewGuide*)context;
-    with_view_model_cpp(
+    CameraSuiteViewGuide* instance = context;
+    with_view_model(
         instance->view,
-        CameraSuiteViewGuideModel*,
-        model,
+        CameraSuiteViewGuideModel * model,
         { camera_suite_view_guide_model_init(model); },
         true);
 }
 
 CameraSuiteViewGuide* camera_suite_view_guide_alloc() {
-    CameraSuiteViewGuide* instance = (CameraSuiteViewGuide*)malloc(sizeof(CameraSuiteViewGuide));
+    CameraSuiteViewGuide* instance = malloc(sizeof(CameraSuiteViewGuide));
     instance->view = view_alloc();
     view_allocate_model(instance->view, ViewModelTypeLocking, sizeof(CameraSuiteViewGuideModel));
     view_set_context(instance->view, instance); // furi_assert crashes in events without this
@@ -100,10 +98,9 @@ CameraSuiteViewGuide* camera_suite_view_guide_alloc() {
     view_set_enter_callback(instance->view, camera_suite_view_guide_enter);
     view_set_exit_callback(instance->view, camera_suite_view_guide_exit);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewGuideModel*,
-        model,
+        CameraSuiteViewGuideModel * model,
         { camera_suite_view_guide_model_init(model); },
         true);
 
@@ -113,8 +110,8 @@ CameraSuiteViewGuide* camera_suite_view_guide_alloc() {
 void camera_suite_view_guide_free(CameraSuiteViewGuide* instance) {
     furi_assert(instance);
 
-    with_view_model_cpp(
-        instance->view, CameraSuiteViewGuideModel*, model, { UNUSED(model); }, true);
+    with_view_model(
+        instance->view, CameraSuiteViewGuideModel * model, { UNUSED(model); }, true);
     view_free(instance->view);
     free(instance);
 }

+ 12 - 16
views/camera_suite_view_start.cpp → views/camera_suite_view_start.c

@@ -107,15 +107,14 @@ static void camera_suite_view_start_model_init(CameraSuiteViewStartModel* const
 
 bool camera_suite_view_start_input(InputEvent* event, void* context) {
     furi_assert(context);
-    CameraSuiteViewStart* instance = static_cast<CameraSuiteViewStart*>(context);
+    CameraSuiteViewStart* instance = context;
     if(event->type == InputTypeRelease) {
         switch(event->key) {
         case InputKeyBack:
             // Exit application.
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                CameraSuiteViewStartModel*,
-                model,
+                CameraSuiteViewStartModel * model,
                 {
                     UNUSED(model);
                     instance->callback(CameraSuiteCustomEventStartBack, instance->context);
@@ -124,10 +123,9 @@ bool camera_suite_view_start_input(InputEvent* event, void* context) {
             break;
         case InputKeyOk:
             // Start the application.
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                CameraSuiteViewStartModel*,
-                model,
+                CameraSuiteViewStartModel * model,
                 {
                     UNUSED(model);
                     instance->callback(CameraSuiteCustomEventStartOk, instance->context);
@@ -153,17 +151,16 @@ void camera_suite_view_start_exit(void* context) {
 void camera_suite_view_start_enter(void* context) {
     furi_assert(context);
     CameraSuiteViewStart* instance = (CameraSuiteViewStart*)context;
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewStartModel*,
-        model,
+        CameraSuiteViewStartModel * model,
         { camera_suite_view_start_model_init(model); },
         true);
 }
 
 CameraSuiteViewStart* camera_suite_view_start_alloc() {
     // Allocate memory for the instance
-    CameraSuiteViewStart* instance = (CameraSuiteViewStart*)malloc(sizeof(CameraSuiteViewStart));
+    CameraSuiteViewStart* instance = malloc(sizeof(CameraSuiteViewStart));
 
     // Allocate the view object
     instance->view = view_alloc();
@@ -180,10 +177,9 @@ CameraSuiteViewStart* camera_suite_view_start_alloc() {
     // Set input callback
     view_set_input_callback(instance->view, camera_suite_view_start_input);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewStartModel*,
-        model,
+        CameraSuiteViewStartModel * model,
         { camera_suite_view_start_model_init(model); },
         true);
 
@@ -193,8 +189,8 @@ CameraSuiteViewStart* camera_suite_view_start_alloc() {
 void camera_suite_view_start_free(CameraSuiteViewStart* instance) {
     furi_assert(instance);
 
-    with_view_model_cpp(
-        instance->view, CameraSuiteViewStartModel*, model, { UNUSED(model); }, true);
+    with_view_model(
+        instance->view, CameraSuiteViewStartModel * model, { UNUSED(model); }, true);
     view_free(instance->view);
     free(instance);
 }

+ 20 - 32
views/camera_suite_view_wifi_camera.cpp → views/camera_suite_view_wifi_camera.c

@@ -5,8 +5,7 @@ static void camera_suite_view_wifi_camera_draw(Canvas* canvas, void* wifi_model)
     furi_assert(canvas);
     furi_assert(wifi_model);
 
-    CameraSuiteViewWiFiCameraModel* model =
-        static_cast<CameraSuiteViewWiFiCameraModel*>(wifi_model);
+    CameraSuiteViewWiFiCameraModel* model = wifi_model;
 
     canvas_clear(canvas);
     canvas_set_color(canvas, ColorBlack);
@@ -22,8 +21,7 @@ static void camera_suite_view_wifi_camera_draw(Canvas* canvas, void* wifi_model)
 static int32_t camera_suite_wifi_camera_worker(void* wifi_view_instance) {
     furi_assert(wifi_view_instance);
 
-    CameraSuiteViewWiFiCamera* instance =
-        static_cast<CameraSuiteViewWiFiCamera*>(wifi_view_instance);
+    CameraSuiteViewWiFiCamera* instance = wifi_view_instance;
 
     while(1) {
         uint32_t events =
@@ -45,10 +43,9 @@ static int32_t camera_suite_wifi_camera_worker(void* wifi_view_instance) {
                 if(length > 0) {
                     data[length] = '\0';
 
-                    with_view_model_cpp(
+                    with_view_model(
                         instance->view,
-                        CameraSuiteViewWiFiCameraModel*,
-                        model,
+                        CameraSuiteViewWiFiCameraModel * model,
                         {
                             furi_string_cat_printf(model->log, "%s", data);
 
@@ -63,8 +60,8 @@ static int32_t camera_suite_wifi_camera_worker(void* wifi_view_instance) {
                 }
             } while(length > 0);
 
-            with_view_model_cpp(
-                instance->view, CameraSuiteViewWiFiCameraModel*, model, { UNUSED(model); }, true);
+            with_view_model(
+                instance->view, CameraSuiteViewWiFiCameraModel * model, { UNUSED(model); }, true);
         }
     }
 
@@ -76,17 +73,15 @@ static bool
     furi_assert(wifi_view_instance);
     furi_assert(input_event);
 
-    CameraSuiteViewWiFiCamera* instance =
-        static_cast<CameraSuiteViewWiFiCamera*>(wifi_view_instance);
+    CameraSuiteViewWiFiCamera* instance = wifi_view_instance;
     uint8_t data[1];
 
     if(input_event->type == InputTypeRelease) {
         switch(input_event->key) {
         default:
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                CameraSuiteViewWiFiCameraModel*,
-                model,
+                CameraSuiteViewWiFiCameraModel * model,
                 {
                     UNUSED(model);
                     // Stop all sounds, reset the LED.
@@ -100,10 +95,9 @@ static bool
     } else if(input_event->type == InputTypePress) {
         switch(input_event->key) {
         case InputKeyBack: {
-            with_view_model_cpp(
+            with_view_model(
                 instance->view,
-                CameraSuiteViewWiFiCameraModel*,
-                model,
+                CameraSuiteViewWiFiCameraModel * model,
                 {
                     UNUSED(model);
 
@@ -145,18 +139,16 @@ static void camera_suite_view_wifi_camera_model_init(CameraSuiteViewWiFiCameraMo
 static void camera_suite_view_wifi_camera_enter(void* wifi_view_instance) {
     furi_assert(wifi_view_instance);
 
-    CameraSuiteViewWiFiCamera* instance =
-        static_cast<CameraSuiteViewWiFiCamera*>(wifi_view_instance);
+    CameraSuiteViewWiFiCamera* instance = wifi_view_instance;
 
     // Start wifi camera stream.
     uint8_t data[1] = {'W'};
     furi_hal_serial_tx(instance->wifi_serial_handle, data, 1);
     furi_delay_ms(50);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewWiFiCameraModel*,
-        model,
+        CameraSuiteViewWiFiCameraModel * model,
         { camera_suite_view_wifi_camera_model_init(model); },
         true);
 }
@@ -168,8 +160,7 @@ static void wifi_camera_on_irq_cb(
     furi_assert(handle);
     furi_assert(wifi_view_instance);
 
-    CameraSuiteViewWiFiCamera* instance =
-        static_cast<CameraSuiteViewWiFiCamera*>(wifi_view_instance);
+    CameraSuiteViewWiFiCamera* instance = wifi_view_instance;
 
     if(event == FuriHalSerialRxEventData) {
         uint8_t data = furi_hal_serial_async_rx(handle);
@@ -180,8 +171,7 @@ static void wifi_camera_on_irq_cb(
 
 CameraSuiteViewWiFiCamera* camera_suite_view_wifi_camera_alloc() {
     // Allocate memory for the instance
-    CameraSuiteViewWiFiCamera* instance =
-        (CameraSuiteViewWiFiCamera*)malloc(sizeof(CameraSuiteViewWiFiCamera));
+    CameraSuiteViewWiFiCamera* instance = malloc(sizeof(CameraSuiteViewWiFiCamera));
 
     // Allocate the view object
     instance->view = view_alloc();
@@ -224,10 +214,9 @@ CameraSuiteViewWiFiCamera* camera_suite_view_wifi_camera_alloc() {
     // Set exit callback
     view_set_exit_callback(instance->view, camera_suite_view_wifi_camera_exit);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewWiFiCameraModel*,
-        model,
+        CameraSuiteViewWiFiCameraModel * model,
         { camera_suite_view_wifi_camera_model_init(model); },
         true);
 
@@ -249,10 +238,9 @@ void camera_suite_view_wifi_camera_free(CameraSuiteViewWiFiCamera* instance) {
     furi_hal_serial_deinit(instance->wifi_serial_handle);
     furi_hal_serial_control_release(instance->wifi_serial_handle);
 
-    with_view_model_cpp(
+    with_view_model(
         instance->view,
-        CameraSuiteViewWiFiCameraModel*,
-        model,
+        CameraSuiteViewWiFiCameraModel * model,
         { furi_string_free(model->log); },
         true);
     view_free(instance->view);