mirror of
https://github.com/DarkFlippers/unleashed-firmware
synced 2024-11-23 21:13:16 +00:00
dbd48a04d4
* [FL-3331] SubGhz: add subghz_protocol_registry external API * F18: fix API version --------- Co-authored-by: hedger <hedger@nanode.su>
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
#pragma once
|
|
|
|
#include "types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct SubGhzEnvironment SubGhzEnvironment;
|
|
|
|
typedef struct SubGhzProtocolRegistry SubGhzProtocolRegistry;
|
|
typedef struct SubGhzProtocol SubGhzProtocol;
|
|
|
|
struct SubGhzProtocolRegistry {
|
|
const SubGhzProtocol** items;
|
|
const size_t size;
|
|
};
|
|
|
|
/**
|
|
* Registration by name SubGhzProtocol.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @param name Protocol name
|
|
* @return SubGhzProtocol* pointer to a SubGhzProtocol instance
|
|
*/
|
|
const SubGhzProtocol* subghz_protocol_registry_get_by_name(
|
|
const SubGhzProtocolRegistry* protocol_registry,
|
|
const char* name);
|
|
|
|
/**
|
|
* Registration protocol by index in array SubGhzProtocol.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @param index Protocol by index in array
|
|
* @return SubGhzProtocol* pointer to a SubGhzProtocol instance
|
|
*/
|
|
const SubGhzProtocol* subghz_protocol_registry_get_by_index(
|
|
const SubGhzProtocolRegistry* protocol_registry,
|
|
size_t index);
|
|
|
|
/**
|
|
* Getting the number of registered protocols.
|
|
* @param protocol_registry SubGhzProtocolRegistry
|
|
* @return Number of protocols
|
|
*/
|
|
size_t subghz_protocol_registry_count(const SubGhzProtocolRegistry* protocol_registry);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|