mirror of https://github.com/nymea/nymea.git
101 lines
2.4 KiB
C++
101 lines
2.4 KiB
C++
#include "hardwaremanager.h"
|
|
|
|
HardwareManager::HardwareManager(QObject *parent) : QObject(parent)
|
|
{
|
|
// Init hardware resources
|
|
m_pluginTimer = new PluginTimer(10000, this);
|
|
|
|
m_hardwareResources.append(m_pluginTimer);
|
|
|
|
m_radio433 = new Radio433(this);
|
|
m_radio433->enable();
|
|
|
|
// Network manager
|
|
m_networkManager = new NetworkAccessManager(this);
|
|
|
|
// UPnP discovery
|
|
m_upnpDiscovery = new UpnpDiscovery(this);
|
|
|
|
// Avahi Browser
|
|
m_avahiBrowser = new QtAvahiServiceBrowser(this);
|
|
m_avahiBrowser->enable();
|
|
|
|
// Bluetooth LE
|
|
m_bluetoothScanner = new BluetoothScanner(this);
|
|
if (!m_bluetoothScanner->isAvailable()) {
|
|
delete m_bluetoothScanner;
|
|
m_bluetoothScanner = nullptr;
|
|
}
|
|
}
|
|
|
|
Radio433 *HardwareManager::radio433()
|
|
{
|
|
return m_radio433;
|
|
}
|
|
|
|
PluginTimer *HardwareManager::pluginTimer()
|
|
{
|
|
return m_pluginTimer;
|
|
}
|
|
|
|
NetworkAccessManager *HardwareManager::networkManager()
|
|
{
|
|
return m_networkManager;
|
|
}
|
|
|
|
UpnpDiscovery *HardwareManager::upnpDiscovery()
|
|
{
|
|
return m_upnpDiscovery;
|
|
}
|
|
|
|
QtAvahiServiceBrowser *HardwareManager::avahiBrowser()
|
|
{
|
|
return m_avahiBrowser;
|
|
}
|
|
|
|
BluetoothScanner *HardwareManager::bluetoothScanner()
|
|
{
|
|
return m_bluetoothScanner;
|
|
}
|
|
|
|
bool HardwareManager::isAvailable(const HardwareResource::Type &hardwareResourceType) const
|
|
{
|
|
foreach (HardwareResource *resource, m_hardwareResources) {
|
|
if (resource->hardwareReourceType() == hardwareResourceType && resource->available()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool HardwareManager::isEnabled(const HardwareResource::Type &hardwareResourceType) const
|
|
{
|
|
foreach (HardwareResource *resource, m_hardwareResources) {
|
|
if (resource->hardwareReourceType() == hardwareResourceType && resource->enabled()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool HardwareManager::enableHardwareReource(const HardwareResource::Type &hardwareResourceType)
|
|
{
|
|
foreach (HardwareResource *resource, m_hardwareResources) {
|
|
if (resource->hardwareReourceType() == hardwareResourceType) {
|
|
return resource->enabled();
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
bool HardwareManager::disableHardwareReource(const HardwareResource::Type &hardwareResourceType)
|
|
{
|
|
foreach (HardwareResource *resource, m_hardwareResources) {
|
|
if (resource->hardwareReourceType() == hardwareResourceType) {
|
|
return resource->disable();
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|