registry.c 1.7 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #include "registry.h"
  2. const SubGhzProtocol* subghz_protocol_registry[] = {
  3. &subghz_protocol_gate_tx, &subghz_protocol_keeloq, &subghz_protocol_star_line,
  4. &subghz_protocol_nice_flo, &subghz_protocol_came, &subghz_protocol_faac_slh,
  5. &subghz_protocol_nice_flor_s, &subghz_protocol_came_twee, &subghz_protocol_came_atomo,
  6. &subghz_protocol_nero_sketch, &subghz_protocol_ido, &subghz_protocol_kia,
  7. &subghz_protocol_hormann, &subghz_protocol_nero_radio, &subghz_protocol_somfy_telis,
  8. &subghz_protocol_somfy_keytis, &subghz_protocol_scher_khan, &subghz_protocol_princeton,
  9. &subghz_protocol_raw, &subghz_protocol_linear, &subghz_protocol_secplus_v2,
  10. &subghz_protocol_secplus_v1, &subghz_protocol_megacode, &subghz_protocol_holtek,
  11. &subghz_protocol_chamb_code, &subghz_protocol_power_smart, &subghz_protocol_marantec,
  12. &subghz_protocol_bett, &subghz_protocol_doitrand, &subghz_protocol_phoenix_v2,
  13. &subghz_protocol_honeywell_wdb, &subghz_protocol_magellen, &subghz_protocol_intertechno_v3,
  14. &subghz_protocol_clemsa, &subghz_protocol_oregon2};
  15. const SubGhzProtocol* subghz_protocol_registry_get_by_name(const char* name) {
  16. for(size_t i = 0; i < subghz_protocol_registry_count(); i++) {
  17. if(strcmp(name, subghz_protocol_registry[i]->name) == 0) {
  18. return subghz_protocol_registry[i];
  19. }
  20. }
  21. return NULL;
  22. }
  23. const SubGhzProtocol* subghz_protocol_registry_get_by_index(size_t index) {
  24. if(index < subghz_protocol_registry_count()) {
  25. return subghz_protocol_registry[index];
  26. } else {
  27. return NULL;
  28. }
  29. }
  30. size_t subghz_protocol_registry_count() {
  31. return COUNT_OF(subghz_protocol_registry);
  32. }