mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
populate zeroconf/avahi/bonjour records via json api (#419)
* start of integrating a bonkour service browser * some experiments * blub * bonjour browser via jsonrpc ... * fix indention * - make leddevice as component - extend sysinfo with domain - add more data for bonjour browser (e.g. split domain and hostname) * code cleanup * add translation * use component names instead of ids * fix compile
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <QResource>
|
||||
#include <QStringList>
|
||||
#include <QDir>
|
||||
#include "hyperion/Hyperion.h"
|
||||
|
||||
LedDeviceRegistry LedDevice::_ledDeviceMap = LedDeviceRegistry();
|
||||
QString LedDevice::_activeDevice = "";
|
||||
@@ -19,8 +20,11 @@ LedDevice::LedDevice()
|
||||
, _deviceReady(true)
|
||||
, _refresh_timer()
|
||||
, _refresh_timer_interval(0)
|
||||
, _componentRegistered(false)
|
||||
, _enabled(true)
|
||||
{
|
||||
LedDevice::getLedDeviceSchemas();
|
||||
qRegisterMetaType<hyperion::Components>("hyperion::Components");
|
||||
|
||||
// setup timer
|
||||
_refresh_timer.setSingleShot(false);
|
||||
@@ -34,6 +38,16 @@ int LedDevice::open()
|
||||
return 0;
|
||||
}
|
||||
|
||||
void LedDevice::setEnable(bool enable)
|
||||
{
|
||||
if ( _enabled && !enable)
|
||||
{
|
||||
switchOff();
|
||||
}
|
||||
_enabled = enable;
|
||||
|
||||
}
|
||||
|
||||
int LedDevice::addToDeviceMap(QString name, LedDeviceCreateFuncType funcPtr)
|
||||
{
|
||||
_ledDeviceMap.emplace(name,funcPtr);
|
||||
@@ -111,12 +125,11 @@ QJsonObject LedDevice::getLedDeviceSchemas()
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
int LedDevice::setLedValues(const std::vector<ColorRgb>& ledValues)
|
||||
{
|
||||
if (!_deviceReady)
|
||||
if (!_deviceReady || !_enabled)
|
||||
return -1;
|
||||
|
||||
|
||||
_ledValues = ledValues;
|
||||
|
||||
// restart the timer
|
||||
@@ -142,5 +155,5 @@ void LedDevice::setLedCount(int ledCount)
|
||||
|
||||
int LedDevice::rewriteLeds()
|
||||
{
|
||||
return write(_ledValues);
|
||||
return _enabled ? write(_ledValues) : -1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user