infrared_remote_button.c 1.0 KB

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