mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Start SmartPointers (#1679)
* Refactor to fix #1671 * Add GUI/NonGUI mode to info page * Do not show lock config, if in non-UI mode * Updae Changelog * Correct includes * Ensure key member initialization - RGB Channels * Ensure key member initialization - WebServer * Update RGBChannels * Fix initialization order * Fix key when inserting new logger in LoggerMap, Prepare logBuffer-JSON snapshot view in LoggerManager, Increase buffered loglines to 500 * Fix Memory leak in GrabberWrapper * Fix Memory leak in BlackBorderProcessor * Fix Memory leak in BlackBorderProcessor * use ninja generator under macos * Fix BGEffectHandler destruction * Fix Mdns code * Clear list after applying qDeleteAll * Fix deletion of CecHandler * Fix memory leak caused by wrong buffer allocation * Remove extra pixel consistently * Change mDNS to Qt SmartPointers * Correct removal * Fix usage of _width/_height (they are the output resolution, not the screen resolution) That avoids unnecessary resizing of the output image with every transferFrame call * Move main non Thread Objects to Smart Pointers * Refactor Hyperion Daemon unsing smartpointers * Correction * Correct typos/ align text * Fix startGrabberDispmanx * Fix startGrabberDispmanx * Address CodeQL finding * Create Screen grabbers via Template * Fix typo * Change way of logging * Revert change * Address deprecation warning * Correct auto screen grabber evaluation --------- Co-authored-by: Paulchen-Panther <16664240+Paulchen-Panther@users.noreply.github.com>
This commit is contained in:
@@ -21,6 +21,8 @@ namespace {
|
||||
const int SERVICE_LOOKUP_RETRIES = 5;
|
||||
} // End of constants
|
||||
|
||||
QScopedPointer<MdnsBrowser> MdnsBrowser::instance;
|
||||
|
||||
MdnsBrowser::MdnsBrowser(QObject* parent)
|
||||
: QObject(parent)
|
||||
, _log(Logger::getInstance("MDNS"))
|
||||
@@ -33,6 +35,16 @@ MdnsBrowser::~MdnsBrowser()
|
||||
_browsedServiceTypes.clear();
|
||||
}
|
||||
|
||||
QScopedPointer<MdnsBrowser>& MdnsBrowser::getInstance()
|
||||
{
|
||||
if (!instance)
|
||||
{
|
||||
instance.reset(new MdnsBrowser());
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
void MdnsBrowser::browseForServiceType(const QByteArray& serviceType)
|
||||
{
|
||||
if (!_browsedServiceTypes.contains(serviceType))
|
||||
@@ -163,8 +175,8 @@ bool MdnsBrowser::resolveAddress(Logger* log, const QString& hostname, QHostAddr
|
||||
QEventLoop loop;
|
||||
QTimer timer;
|
||||
|
||||
QObject::connect(&MdnsBrowser::getInstance(), &MdnsBrowser::addressResolved, &loop, &QEventLoop::quit);
|
||||
weakConnect(&MdnsBrowser::getInstance(), &MdnsBrowser::addressResolved,
|
||||
QObject::connect(MdnsBrowser::getInstance().data(), &MdnsBrowser::addressResolved, &loop, &QEventLoop::quit);
|
||||
weakConnect(MdnsBrowser::getInstance().data(), &MdnsBrowser::addressResolved,
|
||||
[&hostAddress, hostname, log](const QHostAddress& resolvedAddress) {
|
||||
DebugIf(verboseBrowser, log, "Resolver resolved hostname [%s] to address [%s], Thread: %s", QSTRING_CSTR(hostname), QSTRING_CSTR(resolvedAddress.toString()), QSTRING_CSTR(QThread::currentThread()->objectName()));
|
||||
hostAddress = resolvedAddress;
|
||||
@@ -182,7 +194,7 @@ bool MdnsBrowser::resolveAddress(Logger* log, const QString& hostname, QHostAddr
|
||||
}
|
||||
else
|
||||
{
|
||||
QObject::disconnect(&MdnsBrowser::getInstance(), &MdnsBrowser::addressResolved, nullptr, nullptr);
|
||||
QObject::disconnect(MdnsBrowser::getInstance().data(), &MdnsBrowser::addressResolved, nullptr, nullptr);
|
||||
Error(log, "Resolved mDNS hostname [%s] timed out", QSTRING_CSTR(hostname));
|
||||
}
|
||||
}
|
||||
|
@@ -34,6 +34,7 @@ void MdnsProvider::init()
|
||||
MdnsProvider::~MdnsProvider()
|
||||
{
|
||||
_providedServiceTypes.clear();
|
||||
Info(_log, "mDNS info service stopped");
|
||||
}
|
||||
|
||||
void MdnsProvider::publishService(const QString& serviceType, quint16 servicePort, const QByteArray& serviceName)
|
||||
|
Reference in New Issue
Block a user