mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-23 04:53:08 +00:00
acc39a4bc0
* 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>
67 lines
1.5 KiB
C
67 lines
1.5 KiB
C
/**
|
|
* @file record.h
|
|
* Furi: record API
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdbool.h>
|
|
#include "core_defines.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/** Initialize record storage For internal use only.
|
|
*/
|
|
void furi_record_init(void);
|
|
|
|
/** Check if record exists
|
|
*
|
|
* @param name record name
|
|
* @note Thread safe. Create and destroy must be executed from the same
|
|
* thread.
|
|
*/
|
|
bool furi_record_exists(const char* name);
|
|
|
|
/** Create record
|
|
*
|
|
* @param name record name
|
|
* @param data data pointer
|
|
* @note Thread safe. Create and destroy must be executed from the same
|
|
* thread.
|
|
*/
|
|
void furi_record_create(const char* name, void* data);
|
|
|
|
/** Destroy record
|
|
*
|
|
* @param name record name
|
|
*
|
|
* @return true if successful, false if still have holders or thread is not
|
|
* owner.
|
|
* @note Thread safe. Create and destroy must be executed from the same
|
|
* thread.
|
|
*/
|
|
bool furi_record_destroy(const char* name);
|
|
|
|
/** Open record
|
|
*
|
|
* @param name record name
|
|
*
|
|
* @return pointer to the record
|
|
* @note Thread safe. Open and close must be executed from the same
|
|
* thread. Suspends caller thread till record is available
|
|
*/
|
|
FURI_RETURNS_NONNULL void* furi_record_open(const char* name);
|
|
|
|
/** Close record
|
|
*
|
|
* @param name record name
|
|
* @note Thread safe. Open and close must be executed from the same
|
|
* thread.
|
|
*/
|
|
void furi_record_close(const char* name);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|