From 36fa814bdea71246ee6225fb0734fe51c8c3ec17 Mon Sep 17 00:00:00 2001 From: mikee47 Date: Fri, 6 Nov 2020 07:35:28 +0000 Subject: [PATCH] Return object reference& instead of pointer (never null) --- Sming/Libraries/DIAL/sample/app/application.cpp | 2 +- Sming/Libraries/DIAL/src/Dial/Client.cpp | 4 ++-- Sming/Libraries/DIAL/src/Dial/Client.h | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Sming/Libraries/DIAL/sample/app/application.cpp b/Sming/Libraries/DIAL/sample/app/application.cpp index ef1a6b1f0b..95a5b8daaf 100644 --- a/Sming/Libraries/DIAL/sample/app/application.cpp +++ b/Sming/Libraries/DIAL/sample/app/application.cpp @@ -42,7 +42,7 @@ void onConnected(Dial::Client& client, const XML::Document& doc, const HttpHeade Serial.printf(_F("Friendly name: %s.\n"), node->value()); } - auto app = client.getApp("YouTube"); + auto& app = client.getApp("YouTube"); app.status(onStatus); } diff --git a/Sming/Libraries/DIAL/src/Dial/Client.cpp b/Sming/Libraries/DIAL/src/Dial/Client.cpp index a6f696e710..a96557acef 100644 --- a/Sming/Libraries/DIAL/src/Dial/Client.cpp +++ b/Sming/Libraries/DIAL/src/Dial/Client.cpp @@ -115,14 +115,14 @@ bool Client::connect(const Url& descriptionUrl, Connected callback) return true; } -App* Client::getApp(const String& applicationId) +App& Client::getApp(const String& applicationId) { auto app = apps[applicationId]; if(!app) { app = new App(applicationId, applicationUrl); } - return app; + return *app; } // EEEKK!!! Cannot do this - returns dangling pointer diff --git a/Sming/Libraries/DIAL/src/Dial/Client.h b/Sming/Libraries/DIAL/src/Dial/Client.h index 30609cbe80..0f01a8df65 100644 --- a/Sming/Libraries/DIAL/src/Dial/Client.h +++ b/Sming/Libraries/DIAL/src/Dial/Client.h @@ -68,12 +68,12 @@ class Client : public UPnP::ControlPoint void onNotify(SSDP::BasicMessage& msg) override; /** - * @brief Gets pointer to an application object + * @brief Get application object by name * @param applicationId the unique application. * A list of registered ids can be found here: http://www.dial-multiscreen.org/dial-registry/namespace-database#TOC-Registered-Names - * @retval pointer to an application obeject + * @retval App& Application object reference */ - App* getApp(const String& applicationId); + App& getApp(const String& applicationId); protected: static HttpClient http;