|
LightHub 4.6.0
Open-source smart home controller firmware
|
Creates and shares output drivers for items. More...
#include <item.h>
Public Member Functions | |
| driverFactory () | |
| Item * | getItem (Item *item) |
| abstractOut * | getDriver (Item *item) |
| abstractOut * | findDriver (Item *item) |
| void | freeDriver (Item *item) |
| abstractOut * | newDriver (uint8_t itemType) |
Creates and shares output drivers for items.
One driver instance is kept per channel type; getDriver() links the driver to the current item (abstractOut::link) and creates it on demand. Items of the same type share the same driver, saving RAM.
|
inline |
| abstractOut * driverFactory::findDriver | ( | Item * | item | ) |
| void driverFactory::freeDriver | ( | Item * | item | ) |
Unlink the item from its driver; delete the driver if no item uses it.
| abstractOut * driverFactory::getDriver | ( | Item * | item | ) |
| abstractOut * driverFactory::newDriver | ( | uint8_t | itemType | ) |