infrared_remote_button.c 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "infrared_remote_button.h"
  2. #include <stdlib.h>
  3. struct InfraredRemoteButton {
  4. FuriString* name;
  5. InfraredSignal* signal;
  6. };
  7. InfraredRemoteButton* infrared_remote_button_alloc(void) {
  8. InfraredRemoteButton* button = malloc(sizeof(InfraredRemoteButton));
  9. button->name = furi_string_alloc();
  10. button->signal = infrared_signal_alloc();
  11. return button;
  12. }
  13. void infrared_remote_button_free(InfraredRemoteButton* button) {
  14. furi_string_free(button->name);
  15. infrared_signal_free(button->signal);
  16. free(button);
  17. }
  18. void infrared_remote_button_set_name(InfraredRemoteButton* button, const char* name) {
  19. furi_string_set(button->name, name);
  20. }
  21. const char* infrared_remote_button_get_name(InfraredRemoteButton* button) {
  22. return furi_string_get_cstr(button->name);
  23. }
  24. void infrared_remote_button_set_signal(InfraredRemoteButton* button, InfraredSignal* signal) {
  25. infrared_signal_set_signal(button->signal, signal);
  26. }
  27. InfraredSignal* infrared_remote_button_get_signal(InfraredRemoteButton* button) {
  28. return button->signal;
  29. }