infrared_remote_button.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. No modifications were made to this file.
  6. */
  7. #include "infrared_remote_button.h"
  8. #include <stdlib.h>
  9. struct InfraredRemoteButton {
  10. FuriString* name;
  11. InfraredSignal* signal;
  12. };
  13. InfraredRemoteButton* infrared_remote_button_alloc() {
  14. InfraredRemoteButton* button = malloc(sizeof(InfraredRemoteButton));
  15. button->name = furi_string_alloc();
  16. button->signal = infrared_signal_alloc();
  17. return button;
  18. }
  19. void infrared_remote_button_free(InfraredRemoteButton* button) {
  20. furi_string_free(button->name);
  21. infrared_signal_free(button->signal);
  22. free(button);
  23. }
  24. void infrared_remote_button_set_name(InfraredRemoteButton* button, const char* name) {
  25. furi_string_set(button->name, name);
  26. }
  27. const char* infrared_remote_button_get_name(InfraredRemoteButton* button) {
  28. return furi_string_get_cstr(button->name);
  29. }
  30. void infrared_remote_button_set_signal(InfraredRemoteButton* button, InfraredSignal* signal) {
  31. infrared_signal_set_signal(button->signal, signal);
  32. }
  33. InfraredSignal* infrared_remote_button_get_signal(InfraredRemoteButton* button) {
  34. return button->signal;
  35. }