unleashed-firmware/applications/main/infrared/views/infrared_progress_view.h
あく acc39a4bc0
Api Symbols: replace asserts with checks (#3507)
* Api Symbols: replace asserts with checks
* Api Symbols: replace asserts with checks part 2
* Update no args function signatures with void, to help compiler to track incorrect usage
* More unavoidable void
* Update PVS config and code to make it happy
* Format sources
* nfc: fix checks
* dead code cleanup & include fixes

Co-authored-by: gornekich <n.gorbadey@gmail.com>
Co-authored-by: hedger <hedger@users.noreply.github.com>
Co-authored-by: hedger <hedger@nanode.su>
2024-03-19 23:43:52 +09:00

69 lines
1.7 KiB
C

/**
* @file infrared_progress_view.h
* Infrared: Custom Infrared view module.
* It shows popup progress bar during brute force.
*/
#pragma once
#include <gui/view.h>
#ifdef __cplusplus
extern "C" {
#endif
/** Anonumous instance */
typedef struct InfraredProgressView InfraredProgressView;
/** Callback for back button handling */
typedef void (*InfraredProgressViewBackCallback)(void*);
/** Allocate and initialize Infrared view
*
* @retval new allocated instance
*/
InfraredProgressView* infrared_progress_view_alloc(void);
/** Free previously allocated Progress view module instance
*
* @param instance to free
*/
void infrared_progress_view_free(InfraredProgressView* instance);
/** Get progress view module view
*
* @param instance view module
* @retval view
*/
View* infrared_progress_view_get_view(InfraredProgressView* instance);
/** Increase progress on progress view module
*
* @param instance view module
* @retval true - value is incremented and maximum is reached,
* false - value is incremented and maximum is not reached
*/
bool infrared_progress_view_increase_progress(InfraredProgressView* instance);
/** Set maximum progress value
*
* @param instance - view module
* @param progress_max - maximum value of progress
*/
void infrared_progress_view_set_progress_total(
InfraredProgressView* instance,
uint16_t progress_max);
/** Set back button callback
*
* @param instance - view module
* @param callback - callback to call for back button
* @param context - context to pass to callback
*/
void infrared_progress_view_set_back_callback(
InfraredProgressView* instance,
InfraredProgressViewBackCallback callback,
void* context);
#ifdef __cplusplus
}
#endif