infrared_remote_button.c 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. This file was taken from the project:
  3. https://github.com/DarkFlippers/unleashed-firmware
  4. The original project is licensed under the GNU GPLv3
  5. Modifications made:
  6. - Added function infrared_remote_button_get_furi_name()
  7. */
  8. #include "infrared_remote_button.h"
  9. #include <stdlib.h>
  10. struct InfraredRemoteButton {
  11. FuriString* name;
  12. InfraredSignal* signal;
  13. };
  14. InfraredRemoteButton* infrared_remote_button_alloc() {
  15. InfraredRemoteButton* button = malloc(sizeof(InfraredRemoteButton));
  16. button->name = furi_string_alloc();
  17. button->signal = infrared_signal_alloc();
  18. return button;
  19. }
  20. void infrared_remote_button_free(InfraredRemoteButton* button) {
  21. furi_string_free(button->name);
  22. infrared_signal_free(button->signal);
  23. free(button);
  24. }
  25. void infrared_remote_button_set_name(InfraredRemoteButton* button, const char* name) {
  26. furi_string_set(button->name, name);
  27. }
  28. const char* infrared_remote_button_get_name(InfraredRemoteButton* button) {
  29. return furi_string_get_cstr(button->name);
  30. }
  31. FuriString* infrared_remote_button_get_furi_name(InfraredRemoteButton* button) {
  32. return button->name;
  33. }
  34. void infrared_remote_button_set_signal(InfraredRemoteButton* button, InfraredSignal* signal) {
  35. infrared_signal_set_signal(button->signal, signal);
  36. }
  37. InfraredSignal* infrared_remote_button_get_signal(InfraredRemoteButton* button) {
  38. return button->signal;
  39. }