 dbd48a04d4
			
		
	
	
		dbd48a04d4
		
			
		
	
	
	
	
		
			
			* [FL-3331] SubGhz: add subghz_protocol_registry external API * F18: fix API version --------- Co-authored-by: hedger <hedger@nanode.su>
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			49 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
 |