40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
|
#pragma once
|
||
|
|
||
|
#include "types.h"
|
||
|
|
||
|
typedef struct SubGhzEnvironment SubGhzEnvironment;
|
||
|
|
||
|
typedef struct SubGhzProtocolRegistry SubGhzProtocolRegistry;
|
||
|
|
||
|
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);
|