CCIMXDesktop
 
Loading...
Searching...
No Matches
LEDController.h
1#ifndef LEDCONTROLLER_H
2#define LEDCONTROLLER_H
3
4#ifdef USE_REAL_ADAPTER
5#include "led_adapter.h"
6#else
7#include "PesudoLedController.h"
8#endif
9
13public:
15 LEDController() = default;
16
18 ~LEDController() = default;
19
22 void redirectTo(const std::string& ledName) {
23 ledAdapter.redirectTo(ledName);
24 }
25
28 std::string ledPath() const { return ledAdapter.ledPath(); }
29
32 inline void setMode(const Modes mode) { ledAdapter.setMode(mode); }
33
36 inline Modes getMode() const { return ledAdapter.getMode(); }
37
41 bool processByPackage(const LEDParamsPackage* package) {
42 return ledAdapter.processByPackage(package);
43 }
44
45private:
46#ifdef USE_REAL_ADAPTER
47 LEDAdapter ledAdapter;
48#else
49 PesudoLedController ledAdapter;
50#endif
51};
52
53#endif // LEDCONTROLLER_H
High-level controller interface for controlling LEDs, abstracting real or pseudo backends.
Definition LEDController.h:12
bool processByPackage(const LEDParamsPackage *package)
Processes the LED using a parameter package.
Definition LEDController.h:41
void redirectTo(const std::string &ledName)
Redirects the controller to another LED.
Definition LEDController.h:22
Modes getMode() const
Gets the current LED control mode.
Definition LEDController.h:36
std::string ledPath() const
Returns the LED path in use.
Definition LEDController.h:28
~LEDController()=default
Default destructor.
void setMode(const Modes mode)
Sets the control mode.
Definition LEDController.h:32
LEDController()=default
Default constructor.
Base class for LED parameter packages.
Definition LEDParamsPackage.h:14
Simulated LED controller used when real hardware is not available.
Definition PesudoLedController.h:9
void setMode(const Modes mode)
Sets the control mode.
Definition PesudoLedController.h:27
void redirectTo(const std::string &ledName)
Redirects to another LED (no-op in simulation).
Definition PesudoLedController.h:19
std::string ledPath() const
Returns the (simulated) LED path.
Definition PesudoLedController.h:23
bool processByPackage(const LEDParamsPackage *package)
Processes the parameter package (always succeeds in simulation).
Definition PesudoLedController.h:36
Modes getMode() const
Gets the current control mode.
Definition PesudoLedController.h:31