Restructure a bit

pull/170/head
Michael Zanetti 2019-06-04 13:23:33 +02:00
parent 6af2639183
commit 5a03cb840b
8 changed files with 46 additions and 49 deletions

View File

@ -25,7 +25,6 @@
#include "platform/platform.h"
#include "platform/platformzeroconfcontroller.h"
#include "network/zeroconf/zeroconfservicebrowser.h"
#include "hardwaremanagerimplementation.h"
#include "hardware/plugintimermanagerimplementation.h"
@ -72,8 +71,8 @@ HardwareManagerImplementation::HardwareManagerImplementation(Platform *platform,
if (m_upnpDiscovery->available())
setResourceEnabled(m_upnpDiscovery, true);
if (m_platform->zeroConfController()->zeroConfServiceBrowser()->available())
setResourceEnabled(m_platform->zeroConfController()->zeroConfServiceBrowser(), true);
if (m_platform->zeroConfController()->available())
setResourceEnabled(m_platform->zeroConfController(), true);
if (m_bluetoothLowEnergyManager->available())
setResourceEnabled(m_bluetoothLowEnergyManager, true);
@ -105,9 +104,9 @@ UpnpDiscovery *HardwareManagerImplementation::upnpDiscovery()
return m_upnpDiscovery;
}
ZeroConfServiceBrowser *HardwareManagerImplementation::zeroConfServiceBrowser()
PlatformZeroConfController *HardwareManagerImplementation::zeroConfController()
{
return m_platform->zeroConfController()->zeroConfServiceBrowser();
return m_platform->zeroConfController();
}
BluetoothLowEnergyManager *HardwareManagerImplementation::bluetoothLowEnergyManager()

View File

@ -34,7 +34,7 @@ class UpnpDiscovery;
class PluginTimerManager;
class NetworkAccessManager;
class UpnpDeviceDescriptor;
class ZeroConfServiceBrowser;
class PlatformZeroConfController;
class BluetoothLowEnergyManager;
namespace nymeaserver {
@ -54,7 +54,7 @@ public:
PluginTimerManager *pluginTimerManager() override;
NetworkAccessManager *networkManager() override;
UpnpDiscovery *upnpDiscovery() override;
ZeroConfServiceBrowser *zeroConfServiceBrowser() override;
PlatformZeroConfController *zeroConfController() override;
BluetoothLowEnergyManager *bluetoothLowEnergyManager() override;
MqttProvider *mqttProvider() override;

View File

@ -329,7 +329,7 @@ bool ServerManager::registerZeroConfService(const ServerConfiguration &configura
txt.insert("name", NymeaCore::instance()->configuration()->serverName());
txt.insert("sslEnabled", configuration.sslEnabled ? "true" : "false");
QString name = "nymea-" + serverType + "-" + configuration.id;
if (!m_platform->zeroConfController()->zeroConfServicePublisher()->registerService(name, configuration.address, static_cast<quint16>(configuration.port), serviceType, txt)) {
if (!m_platform->zeroConfController()->servicePublisher()->registerService(name, configuration.address, static_cast<quint16>(configuration.port), serviceType, txt)) {
qCWarning(dcServerManager()) << "Could not register ZeroConf service for" << configuration;
return false;
}
@ -338,7 +338,7 @@ bool ServerManager::registerZeroConfService(const ServerConfiguration &configura
void ServerManager::unregisterZeroConfService(const QString &configId, const QString &serverType)
{
m_platform->zeroConfController()->zeroConfServicePublisher()->unregisterService("nymea-" + serverType + "-" + configId);
m_platform->zeroConfController()->servicePublisher()->unregisterService("nymea-" + serverType + "-" + configId);
}
bool ServerManager::loadCertificate(const QString &certificateKeyFileName, const QString &certificateFileName)

View File

@ -30,7 +30,7 @@ class UpnpDiscovery;
class PluginTimerManager;
class NetworkAccessManager;
class UpnpDeviceDescriptor;
class ZeroConfServiceBrowser;
class PlatformZeroConfController;
class BluetoothLowEnergyManager;
class MqttProvider;
class HardwareResource;
@ -47,7 +47,7 @@ public:
virtual PluginTimerManager *pluginTimerManager() = 0;
virtual NetworkAccessManager *networkManager() = 0;
virtual UpnpDiscovery *upnpDiscovery() = 0;
virtual ZeroConfServiceBrowser *zeroConfServiceBrowser() = 0;
virtual PlatformZeroConfController *zeroConfController() = 0;
virtual BluetoothLowEnergyManager *bluetoothLowEnergyManager() = 0;
virtual MqttProvider *mqttProvider() = 0;

View File

@ -102,25 +102,10 @@
#include "zeroconfservicebrowser.h"
/*! Constructs a new \l{ZeroConfServiceBrowser} with the given \a parent. */
ZeroConfServiceBrowser::ZeroConfServiceBrowser(QObject *parent) :
HardwareResource("ZeroConf service browser", parent)
ZeroConfServiceBrowser::ZeroConfServiceBrowser(const QString &serviceType, QObject *parent):
QObject(parent)
{
}
bool ZeroConfServiceBrowser::available() const
{
return false;
}
bool ZeroConfServiceBrowser::enabled() const
{
return false;
}
void ZeroConfServiceBrowser::setEnabled(bool enabled)
{
Q_UNUSED(enabled)
Q_UNUSED(serviceType)
}
QList<ZeroConfServiceEntry> ZeroConfServiceBrowser::serviceEntries() const

View File

@ -26,22 +26,16 @@
#include <QObject>
#include "libnymea.h"
#include "hardwareresource.h"
#include "zeroconfserviceentry.h"
class LIBNYMEA_EXPORT ZeroConfServiceBrowser : public HardwareResource
class LIBNYMEA_EXPORT ZeroConfServiceBrowser : public QObject
{
Q_OBJECT
public:
explicit ZeroConfServiceBrowser(QObject *parent = nullptr);
explicit ZeroConfServiceBrowser(const QString &serviceType = QString(), QObject *parent = nullptr);
virtual ~ZeroConfServiceBrowser() = default;
virtual bool available() const override;
virtual bool enabled() const override;
virtual void setEnabled(bool enabled) override;
virtual QList<ZeroConfServiceEntry> serviceEntries() const;
signals:

View File

@ -26,18 +26,32 @@
#include "network/zeroconf/zeroconfservicepublisher.h"
PlatformZeroConfController::PlatformZeroConfController(QObject *parent):
QObject(parent)
HardwareResource("ZeroConf", parent)
{
m_zeroConfBrowserStub = new ZeroConfServiceBrowser(this);
m_zeroConfPublisherStub = new ZeroConfServicePublisher(this);
m_zeroConfPublisherDummy = new ZeroConfServicePublisher(this);
}
ZeroConfServiceBrowser *PlatformZeroConfController::zeroConfServiceBrowser() const
ZeroConfServiceBrowser *PlatformZeroConfController::createServiceBrowser(const QString &serviceType)
{
return m_zeroConfBrowserStub;
return new ZeroConfServiceBrowser(serviceType, this);
}
ZeroConfServicePublisher *PlatformZeroConfController::zeroConfServicePublisher() const
ZeroConfServicePublisher *PlatformZeroConfController::servicePublisher() const
{
return m_zeroConfPublisherStub;
return m_zeroConfPublisherDummy;
}
bool PlatformZeroConfController::available() const
{
return false;
}
bool PlatformZeroConfController::enabled() const
{
return false;
}
void PlatformZeroConfController::setEnabled(bool enabled)
{
Q_UNUSED(enabled)
}

View File

@ -24,23 +24,28 @@
#define PLATFORMZEROCONFCONTROLLER_H
#include <QObject>
#include "hardwareresource.h"
class ZeroConfServiceBrowser;
class ZeroConfServicePublisher;
class PlatformZeroConfController: public QObject
class PlatformZeroConfController: public HardwareResource
{
Q_OBJECT
public:
explicit PlatformZeroConfController(QObject *parent = nullptr);
virtual ~PlatformZeroConfController() = default;
virtual ZeroConfServiceBrowser *zeroConfServiceBrowser() const;
virtual ZeroConfServicePublisher *zeroConfServicePublisher() const;
virtual ZeroConfServiceBrowser *createServiceBrowser(const QString &serviceType = QString());
virtual ZeroConfServicePublisher *servicePublisher() const;
// HardwareResource
virtual bool available() const override;
virtual bool enabled() const override;
virtual void setEnabled(bool enabled) override;
private:
ZeroConfServiceBrowser *m_zeroConfBrowserStub = nullptr;
ZeroConfServicePublisher *m_zeroConfPublisherStub = nullptr;
ZeroConfServicePublisher *m_zeroConfPublisherDummy = nullptr;
};
Q_DECLARE_INTERFACE(PlatformZeroConfController, "io.nymea.PlatformZeroConfController")