summaryrefslogtreecommitdiffstats
path: root/lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch')
-rw-r--r--lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch2307
1 files changed, 2307 insertions, 0 deletions
diff --git a/lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch b/lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch
new file mode 100644
index 0000000..b1ff8e3
--- /dev/null
+++ b/lib/libUPnP/patches/0044-platinum-Prefer-override-usage.patch
@@ -0,0 +1,2307 @@
+From 0133a1fb26d860df1fcb9b0cb0eea1f9797acb3e Mon Sep 17 00:00:00 2001
+From: "h.udo" <hudokkow@gmail.com>
+Date: Tue, 27 Jun 2017 11:41:35 +0100
+Subject: [PATCH] [modernize][libUPnP] Prefer 'override' usage
+
+---
+ .../Neptune/Source/Core/NptAutoreleasePool.h | 2 +-
+ .../Neptune/Source/Core/NptBufferedStreams.h | 12 ++--
+ .../Neptune/Source/Core/NptDynamicLibraries.h | 6 +-
+ lib/libUPnP/Neptune/Source/Core/NptFile.h | 10 +--
+ lib/libUPnP/Neptune/Source/Core/NptHttp.cpp | 16 ++---
+ lib/libUPnP/Neptune/Source/Core/NptHttp.h | 56 ++++++++--------
+ lib/libUPnP/Neptune/Source/Core/NptLogging.cpp | 12 ++--
+ lib/libUPnP/Neptune/Source/Core/NptLogging.h | 8 +--
+ lib/libUPnP/Neptune/Source/Core/NptMessaging.h | 8 +--
+ .../Source/Core/NptSelectableMessageQueue.h | 8 +--
+ lib/libUPnP/Neptune/Source/Core/NptSerialPort.h | 10 +--
+ .../Neptune/Source/Core/NptSimpleMessageQueue.h | 8 +--
+ lib/libUPnP/Neptune/Source/Core/NptSockets.h | 44 ++++++-------
+ lib/libUPnP/Neptune/Source/Core/NptStreams.h | 54 ++++++++--------
+ lib/libUPnP/Neptune/Source/Core/NptThreads.h | 42 ++++++------
+ lib/libUPnP/Neptune/Source/Core/NptTls.cpp | 4 +-
+ lib/libUPnP/Neptune/Source/Core/NptTls.h | 8 +--
+ lib/libUPnP/Neptune/Source/Core/NptXml.h | 12 ++--
+ lib/libUPnP/Neptune/Source/Core/NptZip.h | 28 ++++----
+ .../Neptune/Source/System/Bsd/NptBsdSockets.cpp | 74 +++++++++++-----------
+ .../Neptune/Source/System/Posix/NptPosixQueue.cpp | 8 +--
+ .../Source/System/Posix/NptPosixThreads.cpp | 40 ++++++------
+ lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h | 14 ++--
+ .../Platinum/Source/Core/PltCtrlPointTask.h | 24 +++----
+ .../Platinum/Source/Core/PltDatagramStream.h | 24 +++----
+ lib/libUPnP/Platinum/Source/Core/PltDeviceHost.h | 10 +--
+ lib/libUPnP/Platinum/Source/Core/PltHttp.h | 4 +-
+ .../Platinum/Source/Core/PltHttpClientTask.h | 10 +--
+ lib/libUPnP/Platinum/Source/Core/PltHttpServer.h | 6 +-
+ .../Platinum/Source/Core/PltHttpServerTask.h | 16 ++---
+ lib/libUPnP/Platinum/Source/Core/PltService.h | 2 +-
+ lib/libUPnP/Platinum/Source/Core/PltSsdp.h | 24 +++----
+ lib/libUPnP/Platinum/Source/Core/PltThreadTask.h | 4 +-
+ .../Source/Devices/MediaConnect/PltMediaConnect.h | 24 +++----
+ .../Source/Devices/MediaConnect/PltXbox360.h | 12 ++--
+ .../Devices/MediaRenderer/PltMediaController.h | 10 +--
+ .../Devices/MediaRenderer/PltMediaRenderer.h | 8 +--
+ .../Devices/MediaServer/PltFileMediaServer.h | 20 +++---
+ .../Source/Devices/MediaServer/PltMediaBrowser.h | 10 +--
+ .../Source/Devices/MediaServer/PltMediaItem.h | 18 +++---
+ .../Source/Devices/MediaServer/PltMediaServer.h | 12 ++--
+ .../Devices/MediaServer/PltSyncMediaBrowser.h | 26 ++++----
+ lib/libUPnP/Platinum/Source/Extras/PltDownloader.h | 8 +--
+ .../Platinum/Source/Extras/PltFrameServer.h | 8 +--
+ .../Platinum/Source/Extras/PltFrameStream.h | 14 ++--
+ .../Platinum/Source/Extras/PltRingBufferStream.h | 20 +++---
+ lib/libUPnP/Platinum/Source/Extras/PltStreamPump.h | 8 +--
+ 47 files changed, 403 insertions(+), 403 deletions(-)
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptAutoreleasePool.h b/lib/libUPnP/Neptune/Source/Core/NptAutoreleasePool.h
+index cc63664cb19c..6f704f72b114 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptAutoreleasePool.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptAutoreleasePool.h
+@@ -48,7 +48,7 @@ class NPT_AutoreleasePool : public NPT_AutoreleasePoolInterface
+ {
+ public:
+ NPT_AutoreleasePool();
+- virtual ~NPT_AutoreleasePool();
++ ~NPT_AutoreleasePool() override;
+
+ private:
+ NPT_AutoreleasePoolInterface* m_Delegate;
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptBufferedStreams.h b/lib/libUPnP/Neptune/Source/Core/NptBufferedStreams.h
+index 1c0e0d6839df..6e3705150ea8 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptBufferedStreams.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptBufferedStreams.h
+@@ -55,7 +55,7 @@ class NPT_BufferedInputStream : public NPT_InputStream
+ // constructors and destructor
+ NPT_BufferedInputStream(NPT_InputStreamReference& stream,
+ NPT_Size buffer_size = NPT_BUFFERED_BYTE_STREAM_DEFAULT_SIZE);
+- virtual ~NPT_BufferedInputStream();
++ ~NPT_BufferedInputStream() override;
+
+ // methods
+ virtual NPT_Result ReadLine(NPT_String& line,
+@@ -73,11 +73,11 @@ class NPT_BufferedInputStream : public NPT_InputStream
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- NPT_Result Seek(NPT_Position offset);
+- NPT_Result Tell(NPT_Position& offset);
+- NPT_Result GetSize(NPT_LargeSize& size);
+- NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position offset) override;
++ NPT_Result Tell(NPT_Position& offset) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ protected:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptDynamicLibraries.h b/lib/libUPnP/Neptune/Source/Core/NptDynamicLibraries.h
+index 4a2751ee21c1..50186ccfaac1 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptDynamicLibraries.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptDynamicLibraries.h
+@@ -63,13 +63,13 @@ class NPT_DynamicLibrary : public NPT_DynamicLibraryInterface
+ static NPT_Result Load(const char* name, NPT_Flags flags, NPT_DynamicLibrary*& library);
+
+ // destructor
+- ~NPT_DynamicLibrary() { delete m_Delegate; }
++ ~NPT_DynamicLibrary() override { delete m_Delegate; }
+
+ // NPT_DynamicLibraryInterface methods
+- virtual NPT_Result FindSymbol(const char* name, void*& symbol) {
++ NPT_Result FindSymbol(const char* name, void*& symbol) override {
+ return m_Delegate->FindSymbol(name, symbol);
+ }
+- virtual NPT_Result Unload() {
++ NPT_Result Unload() override {
+ return m_Delegate->Unload();
+ }
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptFile.h b/lib/libUPnP/Neptune/Source/Core/NptFile.h
+index e93bb2b43d81..c6b2db219525 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptFile.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptFile.h
+@@ -174,7 +174,7 @@ class NPT_File : public NPT_FileInterface
+
+ // constructors and destructor
+ NPT_File(const char* path);
+- ~NPT_File() { delete m_Delegate; }
++ ~NPT_File() override { delete m_Delegate; }
+
+ // methods
+ NPT_Result Load(NPT_DataBuffer& buffer);
+@@ -186,16 +186,16 @@ class NPT_File : public NPT_FileInterface
+ NPT_Result Rename(const char* path);
+
+ // NPT_FileInterface methods
+- NPT_Result Open(OpenMode mode) {
++ NPT_Result Open(OpenMode mode) override {
+ return m_Delegate->Open(mode);
+ }
+- NPT_Result Close() {
++ NPT_Result Close() override {
+ return m_Delegate->Close();
+ }
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream) {
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override {
+ return m_Delegate->GetInputStream(stream);
+ }
+- NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) {
++ NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) override {
+ return m_Delegate->GetOutputStream(stream);
+ }
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptHttp.cpp b/lib/libUPnP/Neptune/Source/Core/NptHttp.cpp
+index 8c5d587ff143..af4f6dc9497a 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptHttp.cpp
++++ b/lib/libUPnP/Neptune/Source/Core/NptHttp.cpp
+@@ -332,7 +332,7 @@ class NPT_HttpEntityBodyInputStream : public NPT_InputStream
+ bool chunked,
+ NPT_HttpClient::Connection* connection,
+ bool should_persist);
+- virtual ~NPT_HttpEntityBodyInputStream();
++ ~NPT_HttpEntityBodyInputStream() override;
+
+ // methods
+ bool SizeIsKnown() { return m_SizeIsKnown; }
+@@ -340,19 +340,19 @@ class NPT_HttpEntityBodyInputStream : public NPT_InputStream
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- NPT_Result Seek(NPT_Position /*offset*/) {
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position /*offset*/) override {
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+- NPT_Result Tell(NPT_Position& offset) {
++ NPT_Result Tell(NPT_Position& offset) override {
+ offset = m_Position;
+ return NPT_SUCCESS;
+ }
+- NPT_Result GetSize(NPT_LargeSize& size) {
++ NPT_Result GetSize(NPT_LargeSize& size) override {
+ size = m_Size;
+ return NPT_SUCCESS;
+ }
+- NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ private:
+ // methods
+@@ -1012,7 +1012,7 @@ class NPT_HttpEnvProxySelector : public NPT_HttpProxySelector,
+ static NPT_HttpEnvProxySelector* GetInstance();
+
+ // NPT_HttpProxySelector methods
+- NPT_Result GetProxyForUrl(const NPT_HttpUrl& url, NPT_HttpProxyAddress& proxy);
++ NPT_Result GetProxyForUrl(const NPT_HttpUrl& url, NPT_HttpProxyAddress& proxy) override;
+
+ private:
+ // class variables
+@@ -1225,7 +1225,7 @@ class NPT_HttpStaticProxySelector : public NPT_HttpProxySelector
+ NPT_UInt16 htts_proxy_port);
+
+ // NPT_HttpProxySelector methods
+- NPT_Result GetProxyForUrl(const NPT_HttpUrl& url, NPT_HttpProxyAddress& proxy);
++ NPT_Result GetProxyForUrl(const NPT_HttpUrl& url, NPT_HttpProxyAddress& proxy) override;
+
+ private:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptHttp.h b/lib/libUPnP/Neptune/Source/Core/NptHttp.h
+index 402d515e0e9a..fd5bfd66b733 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptHttp.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptHttp.h
+@@ -135,7 +135,7 @@ class NPT_HttpUrl : public NPT_Url {
+ NPT_HttpUrl(const char* url, bool ignore_scheme = false);
+
+ // methods
+- virtual NPT_String ToString(bool with_fragment = true) const;
++ NPT_String ToString(bool with_fragment = true) const override;
+ };
+
+ /*----------------------------------------------------------------------
+@@ -293,7 +293,7 @@ class NPT_HttpRequest : public NPT_HttpMessage {
+ NPT_HttpRequest(const char* url,
+ const char* method,
+ const char* protocol = NPT_HTTP_PROTOCOL_1_0);
+- virtual ~NPT_HttpRequest();
++ ~NPT_HttpRequest() override;
+
+ // methods
+ const NPT_HttpUrl& GetUrl() const { return m_Url; }
+@@ -322,7 +322,7 @@ class NPT_HttpResponse : public NPT_HttpMessage {
+ NPT_HttpResponse(NPT_HttpStatusCode status_code,
+ const char* reason_phrase,
+ const char* protocol = NPT_HTTP_PROTOCOL_1_0);
+- virtual ~NPT_HttpResponse();
++ ~NPT_HttpResponse() override;
+
+ // methods
+ NPT_Result SetStatus(NPT_HttpStatusCode status_code,
+@@ -503,16 +503,16 @@ class NPT_HttpConnectionManager : public NPT_Thread,
+ NPT_SocketReference& socket,
+ NPT_InputStreamReference input_stream,
+ NPT_OutputStreamReference output_stream);
+- virtual ~Connection();
++ ~Connection() override;
+
+ // NPT_HttpClient::Connection methods
+- virtual NPT_InputStreamReference& GetInputStream() { return m_InputStream; }
+- virtual NPT_OutputStreamReference& GetOutputStream() { return m_OutputStream; }
+- virtual NPT_Result GetInfo(NPT_SocketInfo& info) { return m_Socket->GetInfo(info); }
+- virtual bool SupportsPersistence() { return true; }
+- virtual bool IsRecycled() { return m_IsRecycled; }
+- virtual NPT_Result Recycle();
+- virtual NPT_Result Abort() { return m_Socket->Cancel(); }
++ NPT_InputStreamReference& GetInputStream() override { return m_InputStream; }
++ NPT_OutputStreamReference& GetOutputStream() override { return m_OutputStream; }
++ NPT_Result GetInfo(NPT_SocketInfo& info) override { return m_Socket->GetInfo(info); }
++ bool SupportsPersistence() override { return true; }
++ bool IsRecycled() override { return m_IsRecycled; }
++ NPT_Result Recycle() override;
++ NPT_Result Abort() override { return m_Socket->Cancel(); }
+
+ // members
+ NPT_HttpConnectionManager& m_Manager;
+@@ -524,7 +524,7 @@ class NPT_HttpConnectionManager : public NPT_Thread,
+ };
+
+ // destructor
+- ~NPT_HttpConnectionManager();
++ ~NPT_HttpConnectionManager() override;
+
+ // methods
+ Connection* FindConnection(NPT_SocketAddress& address);
+@@ -545,7 +545,7 @@ class NPT_HttpConnectionManager : public NPT_Thread,
+ NPT_HttpConnectionManager();
+
+ // NPT_Thread methods
+- void Run();
++ void Run() override;
+
+ // methods
+ NPT_Result UntrackConnection(NPT_HttpClient::Connection* connection);
+@@ -635,9 +635,9 @@ class NPT_HttpStaticRequestHandler : public NPT_HttpRequestHandler
+ bool copy = true);
+
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ private:
+ NPT_String m_MimeType;
+@@ -665,9 +665,9 @@ class NPT_HttpFileRequestHandler : public NPT_HttpRequestHandler
+ const char* auto_index = NULL);
+
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // class methods
+ static const char* GetDefaultContentType(const char* extension);
+@@ -821,16 +821,16 @@ class NPT_HttpChunkedInputStream : public NPT_InputStream
+ public:
+ // constructors and destructor
+ NPT_HttpChunkedInputStream(NPT_BufferedInputStreamReference& stream);
+- virtual ~NPT_HttpChunkedInputStream();
++ ~NPT_HttpChunkedInputStream() override;
+
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- NPT_Result Seek(NPT_Position offset);
+- NPT_Result Tell(NPT_Position& offset);
+- NPT_Result GetSize(NPT_LargeSize& size);
+- NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position offset) override;
++ NPT_Result Tell(NPT_Position& offset) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ protected:
+ // members
+@@ -847,15 +847,15 @@ class NPT_HttpChunkedOutputStream : public NPT_OutputStream
+ public:
+ // constructors and destructor
+ NPT_HttpChunkedOutputStream(NPT_OutputStream& stream);
+- virtual ~NPT_HttpChunkedOutputStream();
++ ~NPT_HttpChunkedOutputStream() override;
+
+ // NPT_OutputStream methods
+ NPT_Result Write(const void* buffer,
+ NPT_Size bytes_to_write,
+- NPT_Size* bytes_written = NULL);
+- NPT_Result Seek(NPT_Position /*offset*/) { return NPT_ERROR_NOT_SUPPORTED;}
+- NPT_Result Tell(NPT_Position& offset) { return m_Stream.Tell(offset); }
+- NPT_Result Flush() { return m_Stream.Flush(); }
++ NPT_Size* bytes_written = NULL) override;
++ NPT_Result Seek(NPT_Position /*offset*/) override { return NPT_ERROR_NOT_SUPPORTED;}
++ NPT_Result Tell(NPT_Position& offset) override { return m_Stream.Tell(offset); }
++ NPT_Result Flush() override { return m_Stream.Flush(); }
+
+ protected:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptLogging.cpp b/lib/libUPnP/Neptune/Source/Core/NptLogging.cpp
+index 08037427ab09..5c75afe908d0 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptLogging.cpp
++++ b/lib/libUPnP/Neptune/Source/Core/NptLogging.cpp
+@@ -67,7 +67,7 @@ class NPT_LogConsoleHandler : public NPT_LogHandler {
+ static NPT_Result Create(const char* logger_name, NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+
+ private:
+ // members
+@@ -82,7 +82,7 @@ class NPT_LogFileHandler : public NPT_LogHandler {
+ static NPT_Result Create(const char* logger_name, NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+
+ private:
+ NPT_Result Open(bool append = true);
+@@ -104,7 +104,7 @@ class NPT_LogTcpHandler : public NPT_LogHandler {
+ static NPT_Result Create(const char* logger_name, NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+
+ private:
+ // constructor
+@@ -125,7 +125,7 @@ class NPT_LogUdpHandler : public NPT_LogHandler {
+ static NPT_Result Create(const char* logger_name, NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+
+ private:
+ // members
+@@ -139,7 +139,7 @@ class NPT_LogNullHandler : public NPT_LogHandler {
+ static NPT_Result Create(NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+ };
+
+ class NPT_LogCustomHandler : public NPT_LogHandler {
+@@ -149,7 +149,7 @@ class NPT_LogCustomHandler : public NPT_LogHandler {
+ static NPT_Result Create(NPT_LogHandler*& handler);
+
+ // methods
+- void Log(const NPT_LogRecord& record);
++ void Log(const NPT_LogRecord& record) override;
+
+ private:
+ static CustomHandlerExternalFunction s_ExternalFunction;
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptLogging.h b/lib/libUPnP/Neptune/Source/Core/NptLogging.h
+index 3168424a3bc8..60966c922e52 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptLogging.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptLogging.h
+@@ -194,16 +194,16 @@ class NPT_HttpLoggerConfigurator : NPT_HttpRequestHandler, public NPT_Thread {
+ // constructor and destructor
+ NPT_HttpLoggerConfigurator(NPT_UInt16 port = NPT_HTTP_LOGGER_CONFIGURATOR_DEFAULT_PORT,
+ bool detached = true);
+- virtual ~NPT_HttpLoggerConfigurator();
++ ~NPT_HttpLoggerConfigurator() override;
+
+ // NPT_Runnable (NPT_Thread) methods
+- virtual void Run();
++ void Run() override;
+
+ private:
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // members
+ NPT_HttpServer* m_Server;
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptMessaging.h b/lib/libUPnP/Neptune/Source/Core/NptMessaging.h
+index 3e61919f56a8..3da21a0901bb 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptMessaging.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptMessaging.h
+@@ -89,11 +89,11 @@ class NPT_MessageHandlerProxy : public NPT_MessageHandler
+ NPT_MessageHandlerProxy(NPT_MessageHandler* handler);
+
+ // destructor
+- virtual ~NPT_MessageHandlerProxy();
++ ~NPT_MessageHandlerProxy() override;
+
+ // NPT_MessageHandler methods
+- virtual void OnMessage(NPT_Message*);
+- virtual NPT_Result HandleMessage(NPT_Message* message);
++ void OnMessage(NPT_Message*) override;
++ NPT_Result HandleMessage(NPT_Message* message) override;
+
+ /**
+ * Detach the proxy from the handler implementation.
+@@ -153,7 +153,7 @@ class NPT_TerminateMessage : public NPT_Message
+ {
+ public:
+ // methods
+- NPT_Result Dispatch(NPT_MessageHandler* /*handler*/) {
++ NPT_Result Dispatch(NPT_MessageHandler* /*handler*/) override {
+ return NPT_ERROR_TERMINATED;
+ }
+ };
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptSelectableMessageQueue.h b/lib/libUPnP/Neptune/Source/Core/NptSelectableMessageQueue.h
+index 23dd4991537d..56b55d083a4a 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptSelectableMessageQueue.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptSelectableMessageQueue.h
+@@ -46,12 +46,12 @@ class NPT_SelectableMessageQueue : public NPT_SimpleMessageQueue
+ public:
+ // methods
+ NPT_SelectableMessageQueue();
+- virtual ~NPT_SelectableMessageQueue();
++ ~NPT_SelectableMessageQueue() override;
+
+ // NPT_MessageQueue methods
+- virtual NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE);
+- virtual NPT_Result QueueMessage(NPT_Message* message,
+- NPT_MessageHandler* handler);
++ NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override;
++ NPT_Result QueueMessage(NPT_Message* message,
++ NPT_MessageHandler* handler) override;
+
+ // methods
+ int GetEventFd() { return m_Pipe[0]; }
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptSerialPort.h b/lib/libUPnP/Neptune/Source/Core/NptSerialPort.h
+index 1e23a3d37fdc..b543c112c65c 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptSerialPort.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptSerialPort.h
+@@ -92,22 +92,22 @@ class NPT_SerialPort : public NPT_SerialPortInterface
+ public:
+ // constructors and destructor
+ NPT_SerialPort(const char* name);
+- ~NPT_SerialPort() { delete m_Delegate; }
++ ~NPT_SerialPort() override { delete m_Delegate; }
+
+ // NPT_SerialPortInterface methods
+ NPT_Result Open(unsigned int speed,
+ NPT_SerialPortStopBits stop_bits = NPT_SERIAL_PORT_STOP_BITS_1,
+ NPT_SerialPortFlowControl flow_control = NPT_SERIAL_PORT_FLOW_CONTROL_NONE,
+- NPT_SerialPortParity parity = NPT_SERIAL_PORT_PARITY_NONE) {
++ NPT_SerialPortParity parity = NPT_SERIAL_PORT_PARITY_NONE) override {
+ return m_Delegate->Open(speed, stop_bits, flow_control, parity);
+ }
+- NPT_Result Close() {
++ NPT_Result Close() override {
+ return m_Delegate->Close();
+ }
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream) {
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override {
+ return m_Delegate->GetInputStream(stream);
+ }
+- NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) {
++ NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) override {
+ return m_Delegate->GetOutputStream(stream);
+ }
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptSimpleMessageQueue.h b/lib/libUPnP/Neptune/Source/Core/NptSimpleMessageQueue.h
+index 158b6ff0297a..cad3ce124690 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptSimpleMessageQueue.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptSimpleMessageQueue.h
+@@ -53,12 +53,12 @@ class NPT_SimpleMessageQueue : public NPT_MessageQueue
+ public:
+ // members
+ NPT_SimpleMessageQueue();
+- virtual ~NPT_SimpleMessageQueue();
++ ~NPT_SimpleMessageQueue() override;
+
+ // NPT_MessageQueue methods
+- virtual NPT_Result QueueMessage(NPT_Message* message,
+- NPT_MessageHandler* handler);
+- virtual NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE);
++ NPT_Result QueueMessage(NPT_Message* message,
++ NPT_MessageHandler* handler) override;
++ NPT_Result PumpMessage(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override;
+
+ private:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptSockets.h b/lib/libUPnP/Neptune/Source/Core/NptSockets.h
+index 789939a5341d..fcd2830715ef 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptSockets.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptSockets.h
+@@ -195,35 +195,35 @@ class NPT_Socket : public NPT_SocketInterface
+
+ // constructor and destructor
+ explicit NPT_Socket(NPT_SocketInterface* delegate) : m_SocketDelegate(delegate) {}
+- virtual ~NPT_Socket();
++ ~NPT_Socket() override;
+
+ // delegate NPT_SocketInterface methods
+- NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true) {
++ NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true) override {
+ return m_SocketDelegate->Bind(address, reuse_address);
+ }
+ NPT_Result Connect(const NPT_SocketAddress& address,
+- NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) {
++ NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override {
+ return m_SocketDelegate->Connect(address, timeout);
+ }
+- NPT_Result WaitForConnection(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) {
++ NPT_Result WaitForConnection(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override {
+ return m_SocketDelegate->WaitForConnection(timeout);
+ }
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream) {
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override {
+ return m_SocketDelegate->GetInputStream(stream);
+ }
+- NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) {
++ NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) override {
+ return m_SocketDelegate->GetOutputStream(stream);
+ }
+- NPT_Result GetInfo(NPT_SocketInfo& info) {
++ NPT_Result GetInfo(NPT_SocketInfo& info) override {
+ return m_SocketDelegate->GetInfo(info);
+ }
+- NPT_Result SetReadTimeout(NPT_Timeout timeout) {
++ NPT_Result SetReadTimeout(NPT_Timeout timeout) override {
+ return m_SocketDelegate->SetReadTimeout(timeout);
+ }
+- NPT_Result SetWriteTimeout(NPT_Timeout timeout) {
++ NPT_Result SetWriteTimeout(NPT_Timeout timeout) override {
+ return m_SocketDelegate->SetWriteTimeout(timeout);
+ }
+- NPT_Result Cancel(bool shutdown=true) {
++ NPT_Result Cancel(bool shutdown=true) override {
+ return m_SocketDelegate->Cancel(shutdown);
+ }
+
+@@ -246,15 +246,15 @@ class NPT_UdpSocket : public NPT_Socket,
+ public:
+ // constructor and destructor
+ NPT_UdpSocket(NPT_Flags flags=0);
+- virtual ~NPT_UdpSocket();
++ ~NPT_UdpSocket() override;
+
+ // delegate NPT_UdpSocketInterface methods
+ NPT_Result Send(const NPT_DataBuffer& packet,
+- const NPT_SocketAddress* address = NULL) {
++ const NPT_SocketAddress* address = NULL) override {
+ return m_UdpSocketDelegate->Send(packet, address);
+ }
+ NPT_Result Receive(NPT_DataBuffer& packet,
+- NPT_SocketAddress* address = NULL) {
++ NPT_SocketAddress* address = NULL) override {
+ return m_UdpSocketDelegate->Receive(packet, address);
+ }
+
+@@ -275,23 +275,23 @@ class NPT_UdpMulticastSocket : public NPT_UdpSocket,
+ public:
+ // constructor and destructor
+ NPT_UdpMulticastSocket(NPT_Flags flags=0);
+- virtual ~NPT_UdpMulticastSocket();
++ ~NPT_UdpMulticastSocket() override;
+
+ // delegate NPT_UdpMulticastSocketInterface methods
+ NPT_Result JoinGroup(const NPT_IpAddress& group,
+ const NPT_IpAddress& iface =
+- NPT_IpAddress::Any) {
++ NPT_IpAddress::Any) override {
+ return m_UdpMulticastSocketDelegate->JoinGroup(group, iface);
+ }
+ NPT_Result LeaveGroup(const NPT_IpAddress& group,
+ const NPT_IpAddress& iface =
+- NPT_IpAddress::Any) {
++ NPT_IpAddress::Any) override {
+ return m_UdpMulticastSocketDelegate->LeaveGroup(group, iface);
+ }
+- NPT_Result SetTimeToLive(unsigned char ttl) {
++ NPT_Result SetTimeToLive(unsigned char ttl) override {
+ return m_UdpMulticastSocketDelegate->SetTimeToLive(ttl);
+ }
+- NPT_Result SetInterface(const NPT_IpAddress& iface) {
++ NPT_Result SetInterface(const NPT_IpAddress& iface) override {
+ return m_UdpMulticastSocketDelegate->SetInterface(iface);
+ }
+
+@@ -308,7 +308,7 @@ class NPT_TcpClientSocket : public NPT_Socket
+ public:
+ // constructors and destructor
+ NPT_TcpClientSocket(NPT_Flags flags=0);
+- virtual ~NPT_TcpClientSocket();
++ ~NPT_TcpClientSocket() override;
+ };
+
+ /*----------------------------------------------------------------------
+@@ -320,15 +320,15 @@ class NPT_TcpServerSocket : public NPT_Socket,
+ public:
+ // constructors and destructor
+ NPT_TcpServerSocket(NPT_Flags flags=0);
+- virtual ~NPT_TcpServerSocket();
++ ~NPT_TcpServerSocket() override;
+
+ // delegate NPT_TcpServerSocketInterface methods
+- NPT_Result Listen(unsigned int max_clients) {
++ NPT_Result Listen(unsigned int max_clients) override {
+ return m_TcpServerSocketDelegate->Listen(max_clients);
+ }
+ NPT_Result WaitForNewClient(NPT_Socket*& client,
+ NPT_Timeout timeout = NPT_TIMEOUT_INFINITE,
+- NPT_Flags flags = 0) {
++ NPT_Flags flags = 0) override {
+ return m_TcpServerSocketDelegate->WaitForNewClient(client, timeout, flags);
+ }
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptStreams.h b/lib/libUPnP/Neptune/Source/Core/NptStreams.h
+index 6cdab10fcb27..bb22903a9137 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptStreams.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptStreams.h
+@@ -139,10 +139,10 @@ class NPT_DelegatingInputStream : public NPT_InputStream
+ {
+ public:
+ // NPT_InputStream methods
+- NPT_Result Seek(NPT_Position offset) {
++ NPT_Result Seek(NPT_Position offset) override {
+ return InputSeek(offset);
+ }
+- NPT_Result Tell(NPT_Position& offset) {
++ NPT_Result Tell(NPT_Position& offset) override {
+ return InputTell(offset);
+ }
+
+@@ -165,10 +165,10 @@ class NPT_DelegatingOutputStream : public NPT_OutputStream
+ {
+ public:
+ // NPT_OutputStream methods
+- NPT_Result Seek(NPT_Position offset) {
++ NPT_Result Seek(NPT_Position offset) override {
+ return OutputSeek(offset);
+ }
+- NPT_Result Tell(NPT_Position& offset) {
++ NPT_Result Tell(NPT_Position& offset) override {
+ return OutputTell(offset);
+ }
+
+@@ -189,7 +189,7 @@ class NPT_MemoryStream :
+ // constructor and destructor
+ NPT_MemoryStream(NPT_Size initial_capacity = 0);
+ NPT_MemoryStream(const void* data, NPT_Size size);
+- virtual ~NPT_MemoryStream() {}
++ ~NPT_MemoryStream() override {}
+
+ // accessors
+ const NPT_DataBuffer& GetBuffer() const { return m_Buffer; }
+@@ -197,12 +197,12 @@ class NPT_MemoryStream :
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- NPT_Result GetSize(NPT_LargeSize& size) {
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override {
+ size = m_Buffer.GetDataSize();
+ return NPT_SUCCESS;
+ }
+- NPT_Result GetAvailable(NPT_LargeSize& available) {
++ NPT_Result GetAvailable(NPT_LargeSize& available) override {
+ available = (NPT_LargeSize)m_Buffer.GetDataSize()-m_ReadOffset;
+ return NPT_SUCCESS;
+ }
+@@ -210,7 +210,7 @@ class NPT_MemoryStream :
+ // NPT_OutputStream methods
+ NPT_Result Write(const void* buffer,
+ NPT_Size bytes_to_write,
+- NPT_Size* bytes_written = NULL);
++ NPT_Size* bytes_written = NULL) override;
+
+ // methods delegated to m_Buffer
+ const NPT_Byte* GetData() const { return m_Buffer.GetData(); }
+@@ -223,15 +223,15 @@ class NPT_MemoryStream :
+
+ private:
+ // NPT_DelegatingInputStream methods
+- NPT_Result InputSeek(NPT_Position offset);
+- NPT_Result InputTell(NPT_Position& offset) {
++ NPT_Result InputSeek(NPT_Position offset) override;
++ NPT_Result InputTell(NPT_Position& offset) override {
+ offset = m_ReadOffset;
+ return NPT_SUCCESS;
+ }
+
+ // NPT_DelegatingOutputStream methods
+- NPT_Result OutputSeek(NPT_Position offset);
+- NPT_Result OutputTell(NPT_Position& offset) {
++ NPT_Result OutputSeek(NPT_Position offset) override;
++ NPT_Result OutputTell(NPT_Position& offset) override {
+ offset = m_WriteOffset;
+ return NPT_SUCCESS;
+ }
+@@ -254,16 +254,16 @@ class NPT_StringOutputStream : public NPT_OutputStream
+ // methods
+ NPT_StringOutputStream(NPT_Size size = 4096);
+ NPT_StringOutputStream(NPT_String* storage);
+- virtual ~NPT_StringOutputStream() ;
++ ~NPT_StringOutputStream() override ;
+
+ const NPT_String& GetString() const { return *m_String; }
+ NPT_Result Reset() { if (m_String) m_String->SetLength(0); return NPT_SUCCESS; }
+
+ // NPT_OutputStream methods
+- NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL);
++ NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL) override;
+
+- NPT_Result Seek(NPT_Position /*offset*/) { return NPT_ERROR_NOT_SUPPORTED; }
+- NPT_Result Tell(NPT_Position& offset) { offset = m_String->GetLength(); return NPT_SUCCESS; }
++ NPT_Result Seek(NPT_Position /*offset*/) override { return NPT_ERROR_NOT_SUPPORTED; }
++ NPT_Result Tell(NPT_Position& offset) override { offset = m_String->GetLength(); return NPT_SUCCESS; }
+
+ protected:
+ NPT_String* m_String;
+@@ -284,13 +284,13 @@ class NPT_SubInputStream : public NPT_InputStream
+ NPT_LargeSize size);
+
+ // methods
+- virtual NPT_Result Read(void* buffer,
++ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- virtual NPT_Result Seek(NPT_Position offset);
+- virtual NPT_Result Tell(NPT_Position& offset);
+- virtual NPT_Result GetSize(NPT_LargeSize& size);
+- virtual NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position offset) override;
++ NPT_Result Tell(NPT_Position& offset) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ private:
+ NPT_InputStreamReference m_Source;
+@@ -307,13 +307,13 @@ class NPT_NullOutputStream : public NPT_OutputStream
+ public:
+ // methods
+ NPT_NullOutputStream() {}
+- virtual ~NPT_NullOutputStream() {}
++ ~NPT_NullOutputStream() override {}
+
+ // NPT_OutputStream methods
+- NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL);
++ NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL) override;
+
+- NPT_Result Seek(NPT_Position /*offset*/) { return NPT_ERROR_NOT_SUPPORTED; }
+- NPT_Result Tell(NPT_Position& /*offset*/) { return NPT_ERROR_NOT_SUPPORTED; }
++ NPT_Result Seek(NPT_Position /*offset*/) override { return NPT_ERROR_NOT_SUPPORTED; }
++ NPT_Result Tell(NPT_Position& /*offset*/) override { return NPT_ERROR_NOT_SUPPORTED; }
+ };
+
+ typedef NPT_Reference<NPT_NullOutputStream> NPT_NullOutputStreamReference;
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptThreads.h b/lib/libUPnP/Neptune/Source/Core/NptThreads.h
+index 9a7455f44b28..4bf73c8d5c9b 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptThreads.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptThreads.h
+@@ -78,9 +78,9 @@ class NPT_Mutex : public NPT_MutexInterface
+ public:
+ // methods
+ NPT_Mutex(bool recursive = false);
+- ~NPT_Mutex() { delete m_Delegate; }
+- NPT_Result Lock() { return m_Delegate->Lock(); }
+- NPT_Result Unlock() { return m_Delegate->Unlock(); }
++ ~NPT_Mutex() override { delete m_Delegate; }
++ NPT_Result Lock() override { return m_Delegate->Lock(); }
++ NPT_Result Unlock() override { return m_Delegate->Unlock(); }
+
+ private:
+ // members
+@@ -151,17 +151,17 @@ class NPT_SharedVariable : public NPT_SharedVariableInterface
+ public:
+ // methods
+ NPT_SharedVariable(int value = 0);
+- ~NPT_SharedVariable() { delete m_Delegate; }
+- void SetValue(int value) {
++ ~NPT_SharedVariable() override { delete m_Delegate; }
++ void SetValue(int value) override {
+ m_Delegate->SetValue(value);
+ }
+- int GetValue() {
++ int GetValue() override {
+ return m_Delegate->GetValue();
+ }
+- NPT_Result WaitUntilEquals(int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) {
++ NPT_Result WaitUntilEquals(int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override {
+ return m_Delegate->WaitUntilEquals(value, timeout);
+ }
+- NPT_Result WaitWhileEquals(int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) {
++ NPT_Result WaitWhileEquals(int value, NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override {
+ return m_Delegate->WaitWhileEquals(value, timeout);
+ }
+
+@@ -192,11 +192,11 @@ class NPT_AtomicVariable : public NPT_AtomicVariableInterface
+ public:
+ // methods
+ NPT_AtomicVariable(int value = 0);
+- ~NPT_AtomicVariable() { delete m_Delegate; }
+- int Increment() { return m_Delegate->Increment();}
+- int Decrement() { return m_Delegate->Decrement();}
+- void SetValue(int value) { m_Delegate->SetValue(value); }
+- int GetValue() { return m_Delegate->GetValue(); }
++ ~NPT_AtomicVariable() override { delete m_Delegate; }
++ int Increment() override { return m_Delegate->Increment();}
++ int Decrement() override { return m_Delegate->Decrement();}
++ void SetValue(int value) override { m_Delegate->SetValue(value); }
++ int GetValue() override { return m_Delegate->GetValue(); }
+
+ private:
+ // members
+@@ -220,7 +220,7 @@ class NPT_ThreadInterface: public NPT_Runnable, public NPT_Interruptible
+ {
+ public:
+ // methods
+- virtual ~NPT_ThreadInterface() {}
++ ~NPT_ThreadInterface() override {}
+ virtual NPT_Result Start() = 0;
+ virtual NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) = 0;
+ virtual NPT_Result SetPriority(int /*priority*/) { return NPT_SUCCESS; }
+@@ -245,30 +245,30 @@ class NPT_Thread : public NPT_ThreadInterface
+ // methods
+ explicit NPT_Thread(bool detached = false);
+ explicit NPT_Thread(NPT_Runnable& target, bool detached = false);
+- ~NPT_Thread() { delete m_Delegate; }
++ ~NPT_Thread() override { delete m_Delegate; }
+
+ // cancel any socket that this thread may be waiting for
+- NPT_Result CancelBlockerSocket() { return m_Delegate->CancelBlockerSocket(); }
++ NPT_Result CancelBlockerSocket() override { return m_Delegate->CancelBlockerSocket(); }
+
+ // NPT_ThreadInterface methods
+- NPT_Result Start() {
++ NPT_Result Start() override {
+ return m_Delegate->Start();
+ }
+- NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) {
++ NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override {
+ return m_Delegate->Wait(timeout);
+ }
+- NPT_Result SetPriority(int priority) {
++ NPT_Result SetPriority(int priority) override {
+ return m_Delegate->SetPriority(priority);
+ }
+- NPT_Result GetPriority(int& priority) {
++ NPT_Result GetPriority(int& priority) override {
+ return m_Delegate->GetPriority(priority);
+ }
+
+ // NPT_Runnable methods
+- virtual void Run() {}
++ void Run() override {}
+
+ // NPT_Interruptible methods
+- virtual NPT_Result Interrupt() { return m_Delegate->Interrupt(); }
++ NPT_Result Interrupt() override { return m_Delegate->Interrupt(); }
+
+ private:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptTls.cpp b/lib/libUPnP/Neptune/Source/Core/NptTls.cpp
+index c622bb78aa2d..9118352ed5de 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptTls.cpp
++++ b/lib/libUPnP/Neptune/Source/Core/NptTls.cpp
+@@ -1055,10 +1055,10 @@ NPT_HttpTlsConnector::VerifyPeer(NPT_TlsClientSession& session, const char* host
+ class NPT_HttpSimpleTlsConnection : public NPT_HttpClient::Connection
+ {
+ public:
+- virtual NPT_InputStreamReference& GetInputStream() {
++ NPT_InputStreamReference& GetInputStream() override {
+ return m_InputStream;
+ }
+- virtual NPT_OutputStreamReference& GetOutputStream() {
++ NPT_OutputStreamReference& GetOutputStream() override {
+ return m_OutputStream;
+ }
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptTls.h b/lib/libUPnP/Neptune/Source/Core/NptTls.h
+index 4a392fdcc7b1..dafe8ef304ba 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptTls.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptTls.h
+@@ -131,7 +131,7 @@ class NPT_TlsContext : public NPT_AutomaticCleaner::Singleton
+ OPTION_NO_SESSION_CACHE = 8
+ };
+ NPT_TlsContext(NPT_Flags options=0);
+- ~NPT_TlsContext();
++ ~NPT_TlsContext() override;
+
+ // methods
+ NPT_Result LoadKey(NPT_TlsKeyFormat key_format,
+@@ -279,12 +279,12 @@ class NPT_HttpTlsConnector : public NPT_HttpClient::Connector
+ class NPT_HttpTlsConnector : public NPT_HttpClient::Connector
+ {
+ public:
+- virtual ~NPT_HttpTlsConnector() {}
+- virtual NPT_Result Connect(const NPT_HttpUrl& url,
++ ~NPT_HttpTlsConnector() override {}
++ NPT_Result Connect(const NPT_HttpUrl& url,
+ NPT_HttpClient& client,
+ const NPT_HttpProxyAddress* proxy,
+ bool reuse,
+- NPT_HttpClient::Connection*& connection);
++ NPT_HttpClient::Connection*& connection) override;
+ };
+ #endif
+
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptXml.h b/lib/libUPnP/Neptune/Source/Core/NptXml.h
+index b5d18ea38148..f76243bff453 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptXml.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptXml.h
+@@ -175,7 +175,7 @@ class NPT_XmlElementNode : public NPT_XmlNode
+ // methods
+ NPT_XmlElementNode(const char* tag);
+ NPT_XmlElementNode(const char* prefix, const char* tag);
+- virtual ~NPT_XmlElementNode();
++ ~NPT_XmlElementNode() override;
+ NPT_List<NPT_XmlNode*>& GetChildren() { return m_Children; }
+ const NPT_List<NPT_XmlNode*>&
+ GetChildren() const { return m_Children; }
+@@ -211,12 +211,12 @@ class NPT_XmlElementNode : public NPT_XmlNode
+ const NPT_String* GetNamespacePrefix(const char* uri) const;
+
+ // type casting
+- NPT_XmlElementNode* AsElementNode() { return this; }
+- const NPT_XmlElementNode* AsElementNode() const { return this; }
++ NPT_XmlElementNode* AsElementNode() override { return this; }
++ const NPT_XmlElementNode* AsElementNode() const override { return this; }
+
+ protected:
+ // methods
+- void SetParent(NPT_XmlNode* parent);
++ void SetParent(NPT_XmlNode* parent) override;
+ void SetNamespaceParent(NPT_XmlElementNode* parent);
+ void RelinkNamespaceMaps();
+
+@@ -264,8 +264,8 @@ class NPT_XmlTextNode : public NPT_XmlNode
+ TokenType GetTokenType() const { return m_TokenType; }
+
+ // type casting
+- NPT_XmlTextNode* AsTextNode() { return this; }
+- const NPT_XmlTextNode* AsTextNode() const { return this; }
++ NPT_XmlTextNode* AsTextNode() override { return this; }
++ const NPT_XmlTextNode* AsTextNode() const override { return this; }
+
+ private:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/Core/NptZip.h b/lib/libUPnP/Neptune/Source/Core/NptZip.h
+index 3720451e7079..d8b692acca7c 100644
+--- a/lib/libUPnP/Neptune/Source/Core/NptZip.h
++++ b/lib/libUPnP/Neptune/Source/Core/NptZip.h
+@@ -141,16 +141,16 @@ class NPT_ZipInflatingInputStream : public NPT_InputStream
+ {
+ public:
+ NPT_ZipInflatingInputStream(NPT_InputStreamReference& source, bool raw = false);
+- ~NPT_ZipInflatingInputStream();
++ ~NPT_ZipInflatingInputStream() override;
+
+ // NPT_InputStream methods
+- virtual NPT_Result Read(void* buffer,
++ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- virtual NPT_Result Seek(NPT_Position offset);
+- virtual NPT_Result Tell(NPT_Position& offset);
+- virtual NPT_Result GetSize(NPT_LargeSize& size);
+- virtual NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position offset) override;
++ NPT_Result Tell(NPT_Position& offset) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ private:
+ NPT_InputStreamReference m_Source;
+@@ -172,16 +172,16 @@ class NPT_ZipDeflatingInputStream : public NPT_InputStream
+ NPT_ZipDeflatingInputStream(NPT_InputStreamReference& source,
+ int compression_level = NPT_ZIP_COMPRESSION_LEVEL_DEFAULT,
+ NPT_Zip::Format format = NPT_Zip::ZLIB);
+- ~NPT_ZipDeflatingInputStream();
++ ~NPT_ZipDeflatingInputStream() override;
+
+ // NPT_InputStream methods
+- virtual NPT_Result Read(void* buffer,
++ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- virtual NPT_Result Seek(NPT_Position offset);
+- virtual NPT_Result Tell(NPT_Position& offset);
+- virtual NPT_Result GetSize(NPT_LargeSize& size);
+- virtual NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result Seek(NPT_Position offset) override;
++ NPT_Result Tell(NPT_Position& offset) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ private:
+ NPT_InputStreamReference m_Source;
+diff --git a/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdSockets.cpp b/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdSockets.cpp
+index 6174ff96f902..ee86dbf4b092 100644
+--- a/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdSockets.cpp
++++ b/lib/libUPnP/Neptune/Source/System/Bsd/NptBsdSockets.cpp
+@@ -1063,14 +1063,14 @@ class NPT_BsdSocketInputStream : public NPT_InputStream,
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read);
+- NPT_Result Seek(NPT_Position offset) {
++ NPT_Size* bytes_read) override;
++ NPT_Result Seek(NPT_Position offset) override {
+ return NPT_BsdSocketStream::Seek(offset); }
+- NPT_Result Tell(NPT_Position& where) {
++ NPT_Result Tell(NPT_Position& where) override {
+ return NPT_BsdSocketStream::Tell(where);
+ }
+- NPT_Result GetSize(NPT_LargeSize& size);
+- NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Result GetSize(NPT_LargeSize& size) override;
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+ };
+
+ /*----------------------------------------------------------------------
+@@ -1176,13 +1176,13 @@ class NPT_BsdSocketOutputStream : public NPT_OutputStream,
+ // NPT_OutputStream methods
+ NPT_Result Write(const void* buffer,
+ NPT_Size bytes_to_write,
+- NPT_Size* bytes_written);
+- NPT_Result Seek(NPT_Position offset) {
++ NPT_Size* bytes_written) override;
++ NPT_Result Seek(NPT_Position offset) override {
+ return NPT_BsdSocketStream::Seek(offset); }
+- NPT_Result Tell(NPT_Position& where) {
++ NPT_Result Tell(NPT_Position& where) override {
+ return NPT_BsdSocketStream::Tell(where);
+ }
+- NPT_Result Flush();
++ NPT_Result Flush() override;
+ };
+
+ /*----------------------------------------------------------------------
+@@ -1320,21 +1320,21 @@ class NPT_BsdSocket : public NPT_SocketInterface
+ public:
+ // constructors and destructor
+ NPT_BsdSocket(SocketFd fd, NPT_Flags flags);
+- virtual ~NPT_BsdSocket();
++ ~NPT_BsdSocket() override;
+
+ // methods
+ NPT_Result RefreshInfo();
+
+ // NPT_SocketInterface methods
+- NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true);
+- NPT_Result Connect(const NPT_SocketAddress& address, NPT_Timeout timeout);
+- NPT_Result WaitForConnection(NPT_Timeout timeout);
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream);
+- NPT_Result GetOutputStream(NPT_OutputStreamReference& stream);
+- NPT_Result GetInfo(NPT_SocketInfo& info);
+- NPT_Result SetReadTimeout(NPT_Timeout timeout);
+- NPT_Result SetWriteTimeout(NPT_Timeout timeout);
+- NPT_Result Cancel(bool shutdown);
++ NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true) override;
++ NPT_Result Connect(const NPT_SocketAddress& address, NPT_Timeout timeout) override;
++ NPT_Result WaitForConnection(NPT_Timeout timeout) override;
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override;
++ NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) override;
++ NPT_Result GetInfo(NPT_SocketInfo& info) override;
++ NPT_Result SetReadTimeout(NPT_Timeout timeout) override;
++ NPT_Result SetWriteTimeout(NPT_Timeout timeout) override;
++ NPT_Result Cancel(bool shutdown) override;
+
+ protected:
+ // members
+@@ -1564,18 +1564,18 @@ class NPT_BsdUdpSocket : public NPT_UdpSocketInterface,
+ public:
+ // constructor and destructor
+ NPT_BsdUdpSocket(NPT_Flags flags);
+- virtual ~NPT_BsdUdpSocket() {}
++ ~NPT_BsdUdpSocket() override {}
+
+ // NPT_SocketInterface methods
+- NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true);
++ NPT_Result Bind(const NPT_SocketAddress& address, bool reuse_address = true) override;
+ NPT_Result Connect(const NPT_SocketAddress& address,
+- NPT_Timeout timeout);
++ NPT_Timeout timeout) override;
+
+ // NPT_UdpSocketInterface methods
+ NPT_Result Send(const NPT_DataBuffer& packet,
+- const NPT_SocketAddress* address);
++ const NPT_SocketAddress* address) override;
+ NPT_Result Receive(NPT_DataBuffer& packet,
+- NPT_SocketAddress* address);
++ NPT_SocketAddress* address) override;
+
+ // friends
+ friend class NPT_UdpSocket;
+@@ -1833,15 +1833,15 @@ class NPT_BsdUdpMulticastSocket : public NPT_UdpMulticastSocketInterface,
+ public:
+ // methods
+ NPT_BsdUdpMulticastSocket(NPT_Flags flags);
+- ~NPT_BsdUdpMulticastSocket();
++ ~NPT_BsdUdpMulticastSocket() override;
+
+ // NPT_UdpMulticastSocketInterface methods
+ NPT_Result JoinGroup(const NPT_IpAddress& group,
+- const NPT_IpAddress& iface);
++ const NPT_IpAddress& iface) override;
+ NPT_Result LeaveGroup(const NPT_IpAddress& group,
+- const NPT_IpAddress& iface);
+- NPT_Result SetTimeToLive(unsigned char ttl);
+- NPT_Result SetInterface(const NPT_IpAddress& iface);
++ const NPT_IpAddress& iface) override;
++ NPT_Result SetTimeToLive(unsigned char ttl) override;
++ NPT_Result SetInterface(const NPT_IpAddress& iface) override;
+
+ // friends
+ friend class NPT_UdpMulticastSocket;
+@@ -2129,12 +2129,12 @@ class NPT_BsdTcpClientSocket : protected NPT_BsdSocket
+ public:
+ // methods
+ NPT_BsdTcpClientSocket(NPT_Flags flags);
+- ~NPT_BsdTcpClientSocket();
++ ~NPT_BsdTcpClientSocket() override;
+
+ // NPT_SocketInterface methods
+ NPT_Result Connect(const NPT_SocketAddress& address,
+- NPT_Timeout timeout);
+- NPT_Result WaitForConnection(NPT_Timeout timeout);
++ NPT_Timeout timeout) override;
++ NPT_Result WaitForConnection(NPT_Timeout timeout) override;
+
+ protected:
+ // friends
+@@ -2241,25 +2241,25 @@ class NPT_BsdTcpServerSocket : public NPT_TcpServerSocketInterface,
+ public:
+ // methods
+ NPT_BsdTcpServerSocket(NPT_Flags flags);
+- ~NPT_BsdTcpServerSocket();
++ ~NPT_BsdTcpServerSocket() override;
+
+ // NPT_SocketInterface methods
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream) {
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override {
+ // no stream
+ stream = NULL;
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+- NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) {
++ NPT_Result GetOutputStream(NPT_OutputStreamReference& stream) override {
+ // no stream
+ stream = NULL;
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+
+ // NPT_TcpServerSocket methods
+- NPT_Result Listen(unsigned int max_clients);
++ NPT_Result Listen(unsigned int max_clients) override;
+ NPT_Result WaitForNewClient(NPT_Socket*& client,
+ NPT_Timeout timeout,
+- NPT_Flags flags);
++ NPT_Flags flags) override;
+
+ protected:
+ // members
+diff --git a/lib/libUPnP/Neptune/Source/System/Posix/NptPosixQueue.cpp b/lib/libUPnP/Neptune/Source/System/Posix/NptPosixQueue.cpp
+index f32dfe54eef4..553cda38ad67 100644
+--- a/lib/libUPnP/Neptune/Source/System/Posix/NptPosixQueue.cpp
++++ b/lib/libUPnP/Neptune/Source/System/Posix/NptPosixQueue.cpp
+@@ -38,10 +38,10 @@ class NPT_PosixQueue : public NPT_GenericQueue
+ public:
+ // methods
+ NPT_PosixQueue(NPT_Cardinal max_items);
+- ~NPT_PosixQueue();
+- NPT_Result Push(NPT_QueueItem* item, NPT_Timeout timeout);
+- NPT_Result Pop(NPT_QueueItem*& item, NPT_Timeout timeout);
+- NPT_Result Peek(NPT_QueueItem*& item, NPT_Timeout timeout);
++ ~NPT_PosixQueue() override;
++ NPT_Result Push(NPT_QueueItem* item, NPT_Timeout timeout) override;
++ NPT_Result Pop(NPT_QueueItem*& item, NPT_Timeout timeout) override;
++ NPT_Result Peek(NPT_QueueItem*& item, NPT_Timeout timeout) override;
+
+ private:
+ void Abort();
+diff --git a/lib/libUPnP/Neptune/Source/System/Posix/NptPosixThreads.cpp b/lib/libUPnP/Neptune/Source/System/Posix/NptPosixThreads.cpp
+index 36eb9978b085..010ba9be0fe9 100644
+--- a/lib/libUPnP/Neptune/Source/System/Posix/NptPosixThreads.cpp
++++ b/lib/libUPnP/Neptune/Source/System/Posix/NptPosixThreads.cpp
+@@ -41,11 +41,11 @@ class NPT_PosixMutex : public NPT_MutexInterface
+ public:
+ // methods
+ NPT_PosixMutex(bool recursive = false);
+- virtual ~NPT_PosixMutex();
++ ~NPT_PosixMutex() override;
+
+ // NPT_Mutex methods
+- virtual NPT_Result Lock();
+- virtual NPT_Result Unlock();
++ NPT_Result Lock() override;
++ NPT_Result Unlock() override;
+
+ private:
+ // members
+@@ -112,11 +112,11 @@ class NPT_PosixSharedVariable : public NPT_SharedVariableInterface
+ public:
+ // methods
+ NPT_PosixSharedVariable(int value);
+- ~NPT_PosixSharedVariable();
+- void SetValue(int value);
+- int GetValue();
+- NPT_Result WaitUntilEquals(int value, NPT_Timeout timeout);
+- NPT_Result WaitWhileEquals(int value, NPT_Timeout timeout);
++ ~NPT_PosixSharedVariable() override;
++ void SetValue(int value) override;
++ int GetValue() override;
++ NPT_Result WaitUntilEquals(int value, NPT_Timeout timeout) override;
++ NPT_Result WaitWhileEquals(int value, NPT_Timeout timeout) override;
+
+ private:
+ // members
+@@ -270,11 +270,11 @@ class NPT_PosixAtomicVariable : public NPT_AtomicVariableInterface
+ public:
+ // methods
+ NPT_PosixAtomicVariable(int value);
+- ~NPT_PosixAtomicVariable();
+- int Increment();
+- int Decrement();
+- int GetValue();
+- void SetValue(int value);
++ ~NPT_PosixAtomicVariable() override;
++ int Increment() override;
++ int Decrement() override;
++ int GetValue() override;
++ void SetValue(int value) override;
+
+ private:
+ // members
+@@ -368,12 +368,12 @@ class NPT_PosixThread : public NPT_ThreadInterface
+ NPT_PosixThread(NPT_Thread* delegator,
+ NPT_Runnable& target,
+ bool detached);
+- ~NPT_PosixThread();
+- NPT_Result Start();
+- NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE);
+- NPT_Result CancelBlockerSocket();
+- NPT_Result SetPriority(int priority);
+- NPT_Result GetPriority(int& priority);
++ ~NPT_PosixThread() override;
++ NPT_Result Start() override;
++ NPT_Result Wait(NPT_Timeout timeout = NPT_TIMEOUT_INFINITE) override;
++ NPT_Result CancelBlockerSocket() override;
++ NPT_Result SetPriority(int priority) override;
++ NPT_Result GetPriority(int& priority) override;
+
+ // class methods
+ static NPT_Result GetPriority(NPT_Thread::ThreadId thread_id, int& priority);
+@@ -384,10 +384,10 @@ class NPT_PosixThread : public NPT_ThreadInterface
+ static void* EntryPoint(void* argument);
+
+ // NPT_Runnable methods
+- void Run();
++ void Run() override;
+
+ // NPT_Interruptible methods
+- NPT_Result Interrupt() { return NPT_ERROR_NOT_IMPLEMENTED; }
++ NPT_Result Interrupt() override { return NPT_ERROR_NOT_IMPLEMENTED; }
+
+ // members
+ NPT_Thread* m_Delegator;
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h b/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h
+index 65baa7b10c45..401c863a6a76 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltCtrlPoint.h
+@@ -92,7 +92,7 @@ class PLT_CtrlPoint : public PLT_SsdpPacketListener,
+ {
+ public:
+ PLT_CtrlPoint(const char* search_criteria = "upnp:rootdevice"); // pass NULL to prevent repeated automatic search
+- virtual ~PLT_CtrlPoint();
++ ~PLT_CtrlPoint() override;
+
+ /**
+ Returns the port used by the internal HTTP server for all incoming event notifications.
+@@ -138,17 +138,17 @@ class PLT_CtrlPoint : public PLT_SsdpPacketListener,
+ void* userdata = NULL);
+
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // PLT_SsdpSearchResponseListener methods
+- virtual NPT_Result ProcessSsdpSearchResponse(NPT_Result res,
++ NPT_Result ProcessSsdpSearchResponse(NPT_Result res,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+ // PLT_SsdpPacketListener method
+- virtual NPT_Result OnSsdpPacket(const NPT_HttpRequest& request,
+- const NPT_HttpRequestContext& context);
++ NPT_Result OnSsdpPacket(const NPT_HttpRequest& request,
++ const NPT_HttpRequestContext& context) override;
+
+ protected:
+
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltCtrlPointTask.h b/lib/libUPnP/Platinum/Source/Core/PltCtrlPointTask.h
+index 48e204483665..15ac8870f345 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltCtrlPointTask.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltCtrlPointTask.h
+@@ -67,14 +67,14 @@ class PLT_CtrlPointGetDescriptionTask : public PLT_HttpClientSocketTask
+ PLT_CtrlPoint* ctrl_point,
+ NPT_TimeInterval leasetime,
+ NPT_String uuid);
+- virtual ~PLT_CtrlPointGetDescriptionTask();
++ ~PLT_CtrlPointGetDescriptionTask() override;
+
+ protected:
+ // PLT_HttpClientSocketTask methods
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+
+ protected:
+ PLT_CtrlPoint* m_CtrlPoint;
+@@ -97,7 +97,7 @@ class PLT_CtrlPointGetSCPDRequest : public NPT_HttpRequest
+ const char* method = "GET",
+ const char* protocol = NPT_HTTP_PROTOCOL_1_1) : // 1.1 for pipelining
+ NPT_HttpRequest(url, method, protocol), m_Device(device) {}
+- virtual ~PLT_CtrlPointGetSCPDRequest() {}
++ ~PLT_CtrlPointGetSCPDRequest() override {}
+
+ // members
+ PLT_DeviceDataReference m_Device;
+@@ -114,14 +114,14 @@ class PLT_CtrlPointGetSCPDsTask : public PLT_HttpClientSocketTask
+ {
+ public:
+ PLT_CtrlPointGetSCPDsTask(PLT_CtrlPoint* ctrl_point, PLT_DeviceDataReference& root_device);
+- virtual ~PLT_CtrlPointGetSCPDsTask() {}
++ ~PLT_CtrlPointGetSCPDsTask() override {}
+
+ NPT_Result AddSCPDRequest(PLT_CtrlPointGetSCPDRequest* request) {
+ return PLT_HttpClientSocketTask::AddRequest((NPT_HttpRequest*)request);
+ }
+
+ // override to prevent calling this directly
+- NPT_Result AddRequest(NPT_HttpRequest*) {
++ NPT_Result AddRequest(NPT_HttpRequest*) override {
+ // only queuing PLT_CtrlPointGetSCPDRequest allowed
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+@@ -131,7 +131,7 @@ class PLT_CtrlPointGetSCPDsTask : public PLT_HttpClientSocketTask
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+
+ protected:
+ PLT_CtrlPoint* m_CtrlPoint;
+@@ -152,14 +152,14 @@ class PLT_CtrlPointInvokeActionTask : public PLT_HttpClientSocketTask
+ PLT_CtrlPoint* ctrl_point,
+ PLT_ActionReference& action,
+ void* userdata);
+- virtual ~PLT_CtrlPointInvokeActionTask();
++ ~PLT_CtrlPointInvokeActionTask() override;
+
+ protected:
+ // PLT_HttpClientSocketTask methods
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+
+ protected:
+ PLT_CtrlPoint* m_CtrlPoint;
+@@ -181,10 +181,10 @@ class PLT_CtrlPointHouseKeepingTask : public PLT_ThreadTask
+ NPT_TimeInterval timer = NPT_TimeInterval(5.));
+
+ protected:
+- ~PLT_CtrlPointHouseKeepingTask() {}
++ ~PLT_CtrlPointHouseKeepingTask() override {}
+
+ // PLT_ThreadTask methods
+- virtual void DoRun();
++ void DoRun() override;
+
+ protected:
+ PLT_CtrlPoint* m_CtrlPoint;
+@@ -206,14 +206,14 @@ class PLT_CtrlPointSubscribeEventTask : public PLT_HttpClientSocketTask
+ PLT_DeviceDataReference& device,
+ PLT_Service* service,
+ void* userdata = NULL);
+- virtual ~PLT_CtrlPointSubscribeEventTask();
++ ~PLT_CtrlPointSubscribeEventTask() override;
+
+ protected:
+ // PLT_HttpClientSocketTask methods
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+
+ protected:
+ PLT_CtrlPoint* m_CtrlPoint;
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltDatagramStream.h b/lib/libUPnP/Platinum/Source/Core/PltDatagramStream.h
+index 0e132b97fed9..86ba105a6b3b 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltDatagramStream.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltDatagramStream.h
+@@ -58,20 +58,20 @@ class PLT_InputDatagramStream : public NPT_InputStream
+ // methods
+ PLT_InputDatagramStream(NPT_UdpSocket* socket,
+ NPT_Size buffer_size = 2000);
+- virtual ~PLT_InputDatagramStream();
++ ~PLT_InputDatagramStream() override;
+
+ NPT_Result GetInfo(NPT_SocketInfo& info);
+
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = 0);
++ NPT_Size* bytes_read = 0) override;
+
+- NPT_Result Seek(NPT_Position offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result Skip(NPT_Size offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result Tell(NPT_Position& offset){ NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result GetSize(NPT_LargeSize& size) { NPT_COMPILER_UNUSED(size); return NPT_FAILURE; }
+- NPT_Result GetAvailable(NPT_LargeSize& available) { NPT_COMPILER_UNUSED(available); return NPT_FAILURE; }
++ NPT_Result Seek(NPT_Position offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Skip(NPT_Size offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Tell(NPT_Position& offset) override{ NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result GetSize(NPT_LargeSize& size) override { NPT_COMPILER_UNUSED(size); return NPT_FAILURE; }
++ NPT_Result GetAvailable(NPT_LargeSize& available) override { NPT_COMPILER_UNUSED(available); return NPT_FAILURE; }
+
+ protected:
+ NPT_UdpSocket* m_Socket;
+@@ -97,14 +97,14 @@ class PLT_OutputDatagramStream : public NPT_OutputStream
+ PLT_OutputDatagramStream(NPT_UdpSocket* socket,
+ NPT_Size size = 4096,
+ const NPT_SocketAddress* address = NULL);
+- virtual ~PLT_OutputDatagramStream();
++ ~PLT_OutputDatagramStream() override;
+
+ // NPT_OutputStream methods
+- NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL);
+- NPT_Result Flush();
++ NPT_Result Write(const void* buffer, NPT_Size bytes_to_write, NPT_Size* bytes_written = NULL) override;
++ NPT_Result Flush() override;
+
+- NPT_Result Seek(NPT_Position offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result Tell(NPT_Position& offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Seek(NPT_Position offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Tell(NPT_Position& offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+
+ protected:
+ NPT_UdpSocket* m_Socket;
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.h b/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.h
+index 9c31484d92bb..8cf611866414 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltDeviceHost.h
+@@ -90,7 +90,7 @@ class PLT_DeviceHost : public PLT_DeviceData,
+ bool show_ip = false,
+ NPT_UInt16 port = 0,
+ bool port_rebind = false);
+- virtual ~PLT_DeviceHost();
++ ~PLT_DeviceHost() override;
+
+ virtual void SetExtraBroadcast(bool broadcast) { m_ExtraBroascast = broadcast; }
+
+@@ -123,9 +123,9 @@ class PLT_DeviceHost : public PLT_DeviceData,
+ @param context the context of the request
+ @param response the response to set up
+ */
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ /**
+ Static method similar to Announce.
+@@ -156,8 +156,8 @@ class PLT_DeviceHost : public PLT_DeviceData,
+ @param request SSDP packet
+ @param context the context of the request
+ */
+- virtual NPT_Result OnSsdpPacket(const NPT_HttpRequest& request,
+- const NPT_HttpRequestContext& context);
++ NPT_Result OnSsdpPacket(const NPT_HttpRequest& request,
++ const NPT_HttpRequestContext& context) override;
+
+ /**
+ Static method similar to SendSsdpSearchResponse.
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltHttp.h b/lib/libUPnP/Platinum/Source/Core/PltHttp.h
+index fc3d1b55c0ff..00e2b9f570e3 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltHttp.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltHttp.h
+@@ -198,12 +198,12 @@ class PLT_HttpRequestHandler : public NPT_HttpRequestHandler
+ public:
+ PLT_HttpRequestHandler(NPT_HttpRequestHandler* delegate) :
+ m_Delegate(delegate) {}
+- virtual ~PLT_HttpRequestHandler() {}
++ ~PLT_HttpRequestHandler() override {}
+
+ // NPT_HttpRequestHandler methods
+ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response) {
++ NPT_HttpResponse& response) override {
+ return m_Delegate->SetupResponse(request, context, response);
+ }
+
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h b/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h
+index 293c59207a5f..62ac723cd0d4 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltHttpClientTask.h
+@@ -62,15 +62,15 @@ friend class PLT_ThreadTask;
+ public:
+ PLT_HttpClientSocketTask(NPT_HttpRequest* request = NULL,
+ bool wait_forever = false);
+- virtual ~PLT_HttpClientSocketTask();
++ ~PLT_HttpClientSocketTask() override;
+
+ virtual NPT_Result AddRequest(NPT_HttpRequest* request);
+ virtual NPT_Result SetHttpClientConfig(const NPT_HttpClient::Config& config);
+
+ protected:
+ // PLT_ThreadTask methods
+- virtual void DoAbort();
+- virtual void DoRun();
++ void DoAbort() override;
++ void DoRun() override;
+
+ virtual NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+@@ -103,14 +103,14 @@ class PLT_HttpClientTask : public PLT_HttpClientSocketTask
+ NPT_HTTP_PROTOCOL_1_1)),
+ m_Data(data) {}
+ protected:
+- virtual ~PLT_HttpClientTask<T>() {}
++ ~PLT_HttpClientTask<T>() override {}
+
+ protected:
+ // PLT_HttpClientSocketTask method
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response) {
++ NPT_HttpResponse* response) override {
+ return m_Data->ProcessResponse(res, request, context, response);
+ }
+
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltHttpServer.h b/lib/libUPnP/Platinum/Source/Core/PltHttpServer.h
+index 562e141431ff..04c47fce03b5 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltHttpServer.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltHttpServer.h
+@@ -61,7 +61,7 @@ class PLT_HttpServer : public NPT_HttpRequestHandler,
+ bool allow_random_port_on_bind_failure = false,
+ NPT_Cardinal max_clients = 50,
+ bool reuse_address = false);
+- virtual ~PLT_HttpServer();
++ ~PLT_HttpServer() override;
+
+ // class methods
+ static NPT_Result ServeFile(const NPT_HttpRequest& request,
+@@ -75,9 +75,9 @@ class PLT_HttpServer : public NPT_HttpRequestHandler,
+ const char* content_type);
+
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // methods
+ virtual NPT_Result Start();
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h b/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h
+index 58b2a3fb761f..dc5cbd3ad859 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltHttpServerTask.h
+@@ -64,7 +64,7 @@ class PLT_HttpServerSocketTask : public PLT_ThreadTask
+ PLT_HttpServerSocketTask(NPT_Socket* socket, bool stay_alive_forever = false);
+
+ protected:
+- virtual ~PLT_HttpServerSocketTask();
++ ~PLT_HttpServerSocketTask() override;
+
+ protected:
+ // Request callback handler
+@@ -77,8 +77,8 @@ class PLT_HttpServerSocketTask : public PLT_ThreadTask
+ virtual NPT_Result GetInfo(NPT_SocketInfo& info);
+
+ // PLT_ThreadTask methods
+- virtual void DoAbort() { if (m_Socket) m_Socket->Cancel(); }
+- virtual void DoRun();
++ void DoAbort() override { if (m_Socket) m_Socket->Cancel(); }
++ void DoRun() override;
+
+ private:
+ virtual NPT_Result Read(NPT_BufferedInputStreamReference& buffered_input_stream,
+@@ -117,11 +117,11 @@ class PLT_HttpServerTask : public PLT_HttpServerSocketTask
+ PLT_HttpServerSocketTask(socket, keep_alive), m_Handler(handler) {}
+
+ protected:
+- virtual ~PLT_HttpServerTask() {}
++ ~PLT_HttpServerTask() override {}
+
+ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response) {
++ NPT_HttpResponse& response) override {
+ return m_Handler->SetupResponse(request, context, response);
+ }
+
+@@ -145,14 +145,14 @@ class PLT_HttpListenTask : public PLT_ThreadTask
+ m_Handler(handler), m_Socket(socket), m_OwnsSocket(owns_socket) {}
+
+ protected:
+- virtual ~PLT_HttpListenTask() {
++ ~PLT_HttpListenTask() override {
+ if (m_OwnsSocket && m_Socket) delete m_Socket;
+ }
+
+ protected:
+ // PLT_ThreadTask methods
+- virtual void DoAbort() { if (m_Socket) m_Socket->Cancel(); }
+- virtual void DoRun();
++ void DoAbort() override { if (m_Socket) m_Socket->Cancel(); }
++ void DoRun() override;
+
+ protected:
+ NPT_HttpRequestHandler* m_Handler;
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltService.h b/lib/libUPnP/Platinum/Source/Core/PltService.h
+index 0401ea287e00..ebca19542c67 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltService.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltService.h
+@@ -293,7 +293,7 @@ class PLT_Service
+ public:
+ PLT_ServiceEventTask(PLT_Service* service) : m_Service(service) {}
+
+- void DoRun() {
++ void DoRun() override {
+ while (!IsAborting(100)) m_Service->NotifyChanged();
+ }
+
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltSsdp.h b/lib/libUPnP/Platinum/Source/Core/PltSsdp.h
+index 21015e53b160..0bbbd75952ca 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltSsdp.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltSsdp.h
+@@ -162,10 +162,10 @@ class PLT_SsdpDeviceSearchResponseTask : public PLT_ThreadTask
+ m_Device(device), m_RemoteAddr(remote_addr), m_ST(st) {}
+
+ protected:
+- virtual ~PLT_SsdpDeviceSearchResponseTask() {}
++ ~PLT_SsdpDeviceSearchResponseTask() override {}
+
+ // PLT_ThreadTask methods
+- virtual void DoRun();
++ void DoRun() override;
+
+ protected:
+ PLT_DeviceHost* m_Device;
+@@ -240,10 +240,10 @@ class PLT_SsdpDeviceAnnounceTask : public PLT_ThreadTask
+ m_ExtraBroadcast(extra_broadcast) {}
+
+ protected:
+- virtual ~PLT_SsdpDeviceAnnounceTask() {}
++ ~PLT_SsdpDeviceAnnounceTask() override {}
+
+ // PLT_ThreadTask methods
+- virtual void DoRun();
++ void DoRun() override;
+
+ protected:
+ PLT_DeviceHost* m_Device;
+@@ -333,17 +333,17 @@ class PLT_SsdpListenTask : public PLT_HttpServerSocketTask
+ }
+
+ // PLT_Task methods
+- void DoAbort();
++ void DoAbort() override;
+
+ protected:
+- virtual ~PLT_SsdpListenTask() {}
++ ~PLT_SsdpListenTask() override {}
+
+ // PLT_HttpServerSocketTask methods
+- NPT_Result GetInputStream(NPT_InputStreamReference& stream);
+- NPT_Result GetInfo(NPT_SocketInfo& info);
++ NPT_Result GetInputStream(NPT_InputStreamReference& stream) override;
++ NPT_Result GetInfo(NPT_SocketInfo& info) override;
+ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ protected:
+ PLT_InputDatagramStreamReference m_Datagram;
+@@ -367,11 +367,11 @@ class PLT_SsdpSearchTask : public PLT_ThreadTask
+ NPT_TimeInterval frequency = NPT_TimeInterval(0.)); // pass 0 for one time
+
+ protected:
+- virtual ~PLT_SsdpSearchTask();
++ ~PLT_SsdpSearchTask() override;
+
+ // PLT_ThreadTask methods
+- virtual void DoAbort();
+- virtual void DoRun();
++ void DoAbort() override;
++ void DoRun() override;
+
+ virtual NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+diff --git a/lib/libUPnP/Platinum/Source/Core/PltThreadTask.h b/lib/libUPnP/Platinum/Source/Core/PltThreadTask.h
+index 8315999c8e15..49bda3d24d7b 100644
+--- a/lib/libUPnP/Platinum/Source/Core/PltThreadTask.h
++++ b/lib/libUPnP/Platinum/Source/Core/PltThreadTask.h
+@@ -116,13 +116,13 @@ class PLT_ThreadTask : public NPT_Runnable
+ The task manager will destroy the task when finished if m_AutoDestroy is
+ true otherwise the owner of this task must use the Kill method.
+ */
+- virtual ~PLT_ThreadTask();
++ ~PLT_ThreadTask() override;
+
+ private:
+ NPT_Result StartThread();
+
+ // NPT_Thread methods
+- void Run();
++ void Run() override;
+
+ protected:
+ // members
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.h b/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.h
+index c9ada4174175..b628d9b11112 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltMediaConnect.h
+@@ -60,19 +60,19 @@ class PLT_MediaConnect : public PLT_MediaServer
+ bool port_rebind = false);
+
+ protected:
+- virtual ~PLT_MediaConnect();
++ ~PLT_MediaConnect() override;
+
+ // PLT_DeviceHost methods
+- virtual NPT_Result SetupServices();
+- virtual NPT_Result OnAction(PLT_ActionReference& action,
+- const PLT_HttpRequestContext& context);
+- virtual NPT_Result ProcessGetDescription(NPT_HttpRequest& request,
++ NPT_Result SetupServices() override;
++ NPT_Result OnAction(PLT_ActionReference& action,
++ const PLT_HttpRequestContext& context) override;
++ NPT_Result ProcessGetDescription(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
+- virtual NPT_Result ProcessGetSCPD(PLT_Service* service,
++ NPT_HttpResponse& response) override;
++ NPT_Result ProcessGetSCPD(PLT_Service* service,
+ NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // X_MS_MediaReceiverRegistrar
+ virtual NPT_Result OnIsAuthorized(PLT_ActionReference& action);
+@@ -93,18 +93,18 @@ class PLT_FileMediaConnectDelegate : public PLT_FileMediaServerDelegate
+ // constructor & destructor
+ PLT_FileMediaConnectDelegate(const char* url_root, const char* file_root) :
+ PLT_FileMediaServerDelegate(url_root, file_root) {}
+- virtual ~PLT_FileMediaConnectDelegate() {}
++ ~PLT_FileMediaConnectDelegate() override {}
+
+ // PLT_FileMediaServerDelegate methods
+- virtual NPT_Result GetFilePath(const char* object_id, NPT_String& filepath);
+- virtual NPT_Result OnSearchContainer(PLT_ActionReference& action,
++ NPT_Result GetFilePath(const char* object_id, NPT_String& filepath) override;
++ NPT_Result OnSearchContainer(PLT_ActionReference& action,
+ const char* object_id,
+ const char* search_criteria,
+ const char* filter,
+ NPT_UInt32 starting_index,
+ NPT_UInt32 requested_count,
+ const char* sort_criteria,
+- const PLT_HttpRequestContext& context);
++ const PLT_HttpRequestContext& context) override;
+ };
+
+ #endif /* _PLT_MEDIA_CONNECT_H_ */
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltXbox360.h b/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltXbox360.h
+index 6bae726213af..346ce57b40ae 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltXbox360.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaConnect/PltXbox360.h
+@@ -49,8 +49,8 @@ class PLT_Xbox360 : public PLT_MediaRenderer
+
+ protected:
+ // PLT_DeviceHost methods
+- virtual NPT_Result SetupServices();
+- virtual NPT_Result SetupIcons();
++ NPT_Result SetupServices() override;
++ NPT_Result SetupIcons() override;
+ virtual NPT_Result InitServiceURLs(PLT_Service* service, const char* service_name);
+
+ virtual NPT_Result Announce(PLT_DeviceData* device,
+@@ -59,12 +59,12 @@ class PLT_Xbox360 : public PLT_MediaRenderer
+ PLT_SsdpAnnounceType type);
+
+ // PLT_DeviceData methods
+- virtual NPT_Result GetDescription(NPT_String& desc) { return PLT_MediaRenderer::GetDescription(desc); }
+- virtual NPT_Result GetDescription(NPT_XmlElementNode* parent,
+- NPT_XmlElementNode** device = NULL);
++ NPT_Result GetDescription(NPT_String& desc) override { return PLT_MediaRenderer::GetDescription(desc); }
++ NPT_Result GetDescription(NPT_XmlElementNode* parent,
++ NPT_XmlElementNode** device = NULL) override;
+
+ protected:
+- virtual ~PLT_Xbox360();
++ ~PLT_Xbox360() override;
+
+ virtual NPT_Result AnnouncePresence(NPT_UdpSocket& socket,
+ const char* serial_number);
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.h b/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.h
+index bfd909ca783f..743c94ff7481 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaController.h
+@@ -245,7 +245,7 @@ class PLT_MediaController : public PLT_CtrlPointListener
+ public:
+ PLT_MediaController(PLT_CtrlPointReference& ctrl_point,
+ PLT_MediaControllerDelegate* delegate = NULL);
+- virtual ~PLT_MediaController();
++ ~PLT_MediaController() override;
+
+ // public methods
+ virtual void SetDelegate(PLT_MediaControllerDelegate* delegate) {
+@@ -253,10 +253,10 @@ class PLT_MediaController : public PLT_CtrlPointListener
+ }
+
+ // PLT_CtrlPointListener methods
+- virtual NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device);
+- virtual NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device);
+- virtual NPT_Result OnActionResponse(NPT_Result res, PLT_ActionReference& action, void* userdata);
+- virtual NPT_Result OnEventNotify(PLT_Service* service, NPT_List<PLT_StateVariable*>* vars);
++ NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device) override;
++ NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device) override;
++ NPT_Result OnActionResponse(NPT_Result res, PLT_ActionReference& action, void* userdata) override;
++ NPT_Result OnEventNotify(PLT_Service* service, NPT_List<PLT_StateVariable*>* vars) override;
+
+ // AVTransport
+ NPT_Result GetCurrentTransportActions(PLT_DeviceDataReference& device, NPT_UInt32 instance_id, void* userdata);
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.h b/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.h
+index bc0ac327fae0..ec30a36daaf2 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaRenderer/PltMediaRenderer.h
+@@ -84,12 +84,12 @@ class PLT_MediaRenderer : public PLT_DeviceHost
+ virtual void SetDelegate(PLT_MediaRendererDelegate* delegate) { m_Delegate = delegate; }
+
+ // PLT_DeviceHost methods
+- virtual NPT_Result SetupServices();
+- virtual NPT_Result OnAction(PLT_ActionReference& action,
+- const PLT_HttpRequestContext& context);
++ NPT_Result SetupServices() override;
++ NPT_Result OnAction(PLT_ActionReference& action,
++ const PLT_HttpRequestContext& context) override;
+
+ protected:
+- virtual ~PLT_MediaRenderer();
++ ~PLT_MediaRenderer() override;
+
+ // PLT_MediaRendererInterface methods
+ // ConnectionManager
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.h
+index 49ff9d8ab68c..fa4b5e426a36 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltFileMediaServer.h
+@@ -63,35 +63,35 @@ class PLT_FileMediaServerDelegate : public PLT_MediaServerDelegate
+ const char* file_path);
+ // constructor & destructor
+ PLT_FileMediaServerDelegate(const char* url_root, const char* file_root, bool use_cache = false);
+- virtual ~PLT_FileMediaServerDelegate();
++ ~PLT_FileMediaServerDelegate() override;
+
+ protected:
+ // PLT_MediaServerDelegate methods
+- virtual NPT_Result OnBrowseMetadata(PLT_ActionReference& action,
++ NPT_Result OnBrowseMetadata(PLT_ActionReference& action,
+ const char* object_id,
+ const char* filter,
+ NPT_UInt32 starting_index,
+ NPT_UInt32 requested_count,
+ const char* sort_criteria,
+- const PLT_HttpRequestContext& context);
+- virtual NPT_Result OnBrowseDirectChildren(PLT_ActionReference& action,
++ const PLT_HttpRequestContext& context) override;
++ NPT_Result OnBrowseDirectChildren(PLT_ActionReference& action,
+ const char* object_id,
+ const char* filter,
+ NPT_UInt32 starting_index,
+ NPT_UInt32 requested_count,
+ const char* sort_criteria,
+- const PLT_HttpRequestContext& context);
+- virtual NPT_Result OnSearchContainer(PLT_ActionReference& action,
++ const PLT_HttpRequestContext& context) override;
++ NPT_Result OnSearchContainer(PLT_ActionReference& action,
+ const char* object_id,
+ const char* search_criteria,
+ const char* filter,
+ NPT_UInt32 starting_index,
+ NPT_UInt32 requested_count,
+ const char* sort_criteria,
+- const PLT_HttpRequestContext& context);
+- virtual NPT_Result ProcessFileRequest(NPT_HttpRequest& request,
++ const PLT_HttpRequestContext& context) override;
++ NPT_Result ProcessFileRequest(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // overridable methods
+ virtual NPT_Result ExtractResourcePath(const NPT_HttpUrl& url, NPT_String& file_path);
+@@ -145,7 +145,7 @@ class PLT_FileMediaServer : public PLT_MediaServer,
+ PLT_FileMediaServerDelegate("/", file_root) {SetDelegate(this);}
+
+ protected:
+- virtual ~PLT_FileMediaServer() {}
++ ~PLT_FileMediaServer() override {}
+ };
+
+ #endif /* _PLT_FILE_MEDIA_SERVER_H_ */
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
+index 41ed84ea3af4..2484dcc2b75c 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaBrowser.h
+@@ -116,7 +116,7 @@ class PLT_MediaBrowser : public PLT_CtrlPointListener
+ public:
+ PLT_MediaBrowser(PLT_CtrlPointReference& ctrl_point,
+ PLT_MediaBrowserDelegate* delegate = NULL);
+- virtual ~PLT_MediaBrowser();
++ ~PLT_MediaBrowser() override;
+
+ // ContentDirectory service
+ virtual NPT_Result Browse(PLT_DeviceDataReference& device,
+@@ -149,10 +149,10 @@ class PLT_MediaBrowser : public PLT_CtrlPointListener
+
+ protected:
+ // PLT_CtrlPointListener methods
+- virtual NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device);
+- virtual NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device);
+- virtual NPT_Result OnActionResponse(NPT_Result res, PLT_ActionReference& action, void* userdata);
+- virtual NPT_Result OnEventNotify(PLT_Service* service, NPT_List<PLT_StateVariable*>* vars);
++ NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device) override;
++ NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device) override;
++ NPT_Result OnActionResponse(NPT_Result res, PLT_ActionReference& action, void* userdata) override;
++ NPT_Result OnEventNotify(PLT_Service* service, NPT_List<PLT_StateVariable*>* vars) override;
+
+ // ContentDirectory service responses
+ virtual NPT_Result OnBrowseResponse(NPT_Result res,
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.h
+index 65022976053b..3a13967f5f9b 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaItem.h
+@@ -285,12 +285,12 @@ class PLT_MediaItem : public PLT_MediaObject
+ NPT_IMPLEMENT_DYNAMIC_CAST_D(PLT_MediaItem, PLT_MediaObject)
+
+ PLT_MediaItem();
+- virtual ~PLT_MediaItem();
++ ~PLT_MediaItem() override;
+
+ // PLT_MediaObject methods
+- NPT_Result ToDidl(const NPT_String& filter, NPT_String& didl);
+- NPT_Result ToDidl(NPT_UInt64 mask, NPT_String& didl);
+- NPT_Result FromDidl(NPT_XmlElementNode* entry);
++ NPT_Result ToDidl(const NPT_String& filter, NPT_String& didl) override;
++ NPT_Result ToDidl(NPT_UInt64 mask, NPT_String& didl) override;
++ NPT_Result FromDidl(NPT_XmlElementNode* entry) override;
+ };
+
+ /*----------------------------------------------------------------------
+@@ -307,13 +307,13 @@ class PLT_MediaContainer : public PLT_MediaObject
+ NPT_IMPLEMENT_DYNAMIC_CAST_D(PLT_MediaContainer, PLT_MediaObject)
+
+ PLT_MediaContainer();
+- virtual ~PLT_MediaContainer();
++ ~PLT_MediaContainer() override;
+
+ // PLT_MediaObject methods
+- NPT_Result Reset();
+- NPT_Result ToDidl(const NPT_String& filter, NPT_String& didl);
+- NPT_Result ToDidl(NPT_UInt64 mask, NPT_String& didl);
+- NPT_Result FromDidl(NPT_XmlElementNode* entry);
++ NPT_Result Reset() override;
++ NPT_Result ToDidl(const NPT_String& filter, NPT_String& didl) override;
++ NPT_Result ToDidl(NPT_UInt64 mask, NPT_String& didl) override;
++ NPT_Result FromDidl(NPT_XmlElementNode* entry) override;
+
+ public:
+ NPT_List<PLT_SearchClass> m_SearchClasses;
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.h
+index 6af8aa183a26..d35d8d894eeb 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltMediaServer.h
+@@ -133,15 +133,15 @@ class PLT_MediaServer : public PLT_DeviceHost
+ virtual void UpdateContainerUpdateID(const char* id, NPT_UInt32 update);
+
+ protected:
+- virtual ~PLT_MediaServer();
++ ~PLT_MediaServer() override;
+
+ // PLT_DeviceHost methods
+- virtual NPT_Result SetupServices();
+- virtual NPT_Result OnAction(PLT_ActionReference& action,
+- const PLT_HttpRequestContext& context);
+- virtual NPT_Result ProcessHttpGetRequest(NPT_HttpRequest& request,
++ NPT_Result SetupServices() override;
++ NPT_Result OnAction(PLT_ActionReference& action,
++ const PLT_HttpRequestContext& context) override;
++ NPT_Result ProcessHttpGetRequest(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ // ConnectionManager
+ virtual NPT_Result OnGetCurrentConnectionIDs(PLT_ActionReference& action,
+diff --git a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.h b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.h
+index 1493a50fc4a7..6da21cb18a3e 100644
+--- a/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.h
++++ b/lib/libUPnP/Platinum/Source/Devices/MediaServer/PltSyncMediaBrowser.h
+@@ -94,31 +94,31 @@ class PLT_SyncMediaBrowser : public PLT_MediaBrowser,
+ PLT_SyncMediaBrowser(PLT_CtrlPointReference& ctrlPoint,
+ bool use_cache = false,
+ PLT_MediaContainerChangesListener* listener = NULL);
+- virtual ~PLT_SyncMediaBrowser();
++ ~PLT_SyncMediaBrowser() override;
+
+ // PLT_MediaBrowser methods
+- virtual NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device);
+- virtual NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device);
++ NPT_Result OnDeviceAdded(PLT_DeviceDataReference& device) override;
++ NPT_Result OnDeviceRemoved(PLT_DeviceDataReference& device) override;
+
+ // PLT_MediaBrowserDelegate methods
+- virtual void OnMSStateVariablesChanged(PLT_Service* service,
+- NPT_List<PLT_StateVariable*>* vars);
+- virtual void OnBrowseResult(NPT_Result res,
++ void OnMSStateVariablesChanged(PLT_Service* service,
++ NPT_List<PLT_StateVariable*>* vars) override;
++ void OnBrowseResult(NPT_Result res,
+ PLT_DeviceDataReference& device,
+ PLT_BrowseInfo* info,
+- void* userdata);
+- virtual void OnSearchResult(NPT_Result res,
++ void* userdata) override;
++ void OnSearchResult(NPT_Result res,
+ PLT_DeviceDataReference& device,
+ PLT_BrowseInfo* info,
+- void* userdata);
+- virtual void OnGetSearchCapabilitiesResult(NPT_Result res,
++ void* userdata) override;
++ void OnGetSearchCapabilitiesResult(NPT_Result res,
+ PLT_DeviceDataReference& device,
+ NPT_String searchCapabilities,
+- void* userdata);
+- virtual void OnGetSortCapabilitiesResult(NPT_Result res,
++ void* userdata) override;
++ void OnGetSortCapabilitiesResult(NPT_Result res,
+ PLT_DeviceDataReference& device,
+ NPT_String sortCapabilities,
+- void* userdata);
++ void* userdata) override;
+
+ // methods
+ void SetContainerListener(PLT_MediaContainerChangesListener* listener) {
+diff --git a/lib/libUPnP/Platinum/Source/Extras/PltDownloader.h b/lib/libUPnP/Platinum/Source/Extras/PltDownloader.h
+index 9581ec293550..15d9279ba5bf 100644
+--- a/lib/libUPnP/Platinum/Source/Extras/PltDownloader.h
++++ b/lib/libUPnP/Platinum/Source/Extras/PltDownloader.h
+@@ -65,7 +65,7 @@ class PLT_Downloader : public PLT_HttpClientSocketTask
+ public:
+ PLT_Downloader(NPT_HttpUrl& url,
+ NPT_OutputStreamReference& output);
+- virtual ~PLT_Downloader();
++ ~PLT_Downloader() override;
+
+ Plt_DowloaderState GetState() { return m_State; }
+
+@@ -73,11 +73,11 @@ class PLT_Downloader : public PLT_HttpClientSocketTask
+ NPT_Result ProcessResponse(NPT_Result res,
+ const NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse* response);
++ NPT_HttpResponse* response) override;
+
+ protected:
+- virtual void DoRun();
+- virtual void DoAbort();
++ void DoRun() override;
++ void DoAbort() override;
+
+ private:
+ // members
+diff --git a/lib/libUPnP/Platinum/Source/Extras/PltFrameServer.h b/lib/libUPnP/Platinum/Source/Extras/PltFrameServer.h
+index 62a730a09efa..e5c119258317 100644
+--- a/lib/libUPnP/Platinum/Source/Extras/PltFrameServer.h
++++ b/lib/libUPnP/Platinum/Source/Extras/PltFrameServer.h
+@@ -71,9 +71,9 @@ class PLT_HttpStreamRequestHandler : public NPT_HttpRequestHandler
+ m_StreamValidator(stream_validator) {}
+
+ // NPT_HttpRequestHandler methods
+- virtual NPT_Result SetupResponse(NPT_HttpRequest& request,
++ NPT_Result SetupResponse(NPT_HttpRequest& request,
+ const NPT_HttpRequestContext& context,
+- NPT_HttpResponse& response);
++ NPT_HttpResponse& response) override;
+
+ private:
+ PLT_StreamValidator& m_StreamValidator;
+@@ -90,9 +90,9 @@ class PLT_FrameServer : public PLT_HttpServer
+ NPT_IpAddress address = NPT_IpAddress::Any,
+ NPT_UInt16 port = 0,
+ bool policy_server_enabled = false);
+- virtual ~PLT_FrameServer();
++ ~PLT_FrameServer() override;
+
+- virtual NPT_Result Start();
++ NPT_Result Start() override;
+
+ protected:
+ PLT_SocketPolicyServer* m_PolicyServer;
+diff --git a/lib/libUPnP/Platinum/Source/Extras/PltFrameStream.h b/lib/libUPnP/Platinum/Source/Extras/PltFrameStream.h
+index 0eda3c3bdae7..6d6deb8681c6 100644
+--- a/lib/libUPnP/Platinum/Source/Extras/PltFrameStream.h
++++ b/lib/libUPnP/Platinum/Source/Extras/PltFrameStream.h
+@@ -50,18 +50,18 @@ class PLT_InputFrameStream : public NPT_InputStream
+ // methods
+ PLT_InputFrameStream(NPT_Reference<PLT_FrameBuffer>& frame_buffer,
+ const char* boundary);
+- virtual ~PLT_InputFrameStream();
++ ~PLT_InputFrameStream() override;
+
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = 0);
++ NPT_Size* bytes_read = 0) override;
+
+- NPT_Result Seek(NPT_Position offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result Skip(NPT_Size offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result Tell(NPT_Position& offset) { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
+- NPT_Result GetSize(NPT_LargeSize& size) { NPT_COMPILER_UNUSED(size); return NPT_FAILURE; }
+- NPT_Result GetAvailable(NPT_LargeSize& available);
++ NPT_Result Seek(NPT_Position offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Skip(NPT_Size offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result Tell(NPT_Position& offset) override { NPT_COMPILER_UNUSED(offset); return NPT_FAILURE; }
++ NPT_Result GetSize(NPT_LargeSize& size) override { NPT_COMPILER_UNUSED(size); return NPT_FAILURE; }
++ NPT_Result GetAvailable(NPT_LargeSize& available) override;
+
+ private:
+ NPT_Result FillBuffer();
+diff --git a/lib/libUPnP/Platinum/Source/Extras/PltRingBufferStream.h b/lib/libUPnP/Platinum/Source/Extras/PltRingBufferStream.h
+index d8ecd11d8eca..e5f98b2f350f 100644
+--- a/lib/libUPnP/Platinum/Source/Extras/PltRingBufferStream.h
++++ b/lib/libUPnP/Platinum/Source/Extras/PltRingBufferStream.h
+@@ -49,7 +49,7 @@ class PLT_RingBufferStream : public NPT_DelegatingInputStream,
+ public:
+ PLT_RingBufferStream(NPT_Size buffer_size = 4096, bool blocking = true);
+ PLT_RingBufferStream(NPT_RingBufferReference& buffer, bool blocking = true);
+- virtual ~PLT_RingBufferStream();
++ ~PLT_RingBufferStream() override;
+
+ // methods
+ bool IsAborted() { return m_Aborted; }
+@@ -57,8 +57,8 @@ class PLT_RingBufferStream : public NPT_DelegatingInputStream,
+ // NPT_InputStream methods
+ NPT_Result Read(void* buffer,
+ NPT_Size bytes_to_read,
+- NPT_Size* bytes_read = NULL);
+- NPT_Result GetSize(NPT_LargeSize& size) {
++ NPT_Size* bytes_read = NULL) override;
++ NPT_Result GetSize(NPT_LargeSize& size) override {
+ NPT_COMPILER_UNUSED(size);
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+@@ -67,7 +67,7 @@ class PLT_RingBufferStream : public NPT_DelegatingInputStream,
+ space = m_RingBuffer->GetSpace();
+ return NPT_SUCCESS;
+ }
+- NPT_Result GetAvailable(NPT_LargeSize& available) {
++ NPT_Result GetAvailable(NPT_LargeSize& available) override {
+ NPT_AutoLock autoLock(m_Lock);
+ available = m_RingBuffer->GetAvailable();
+ return NPT_SUCCESS;
+@@ -76,29 +76,29 @@ class PLT_RingBufferStream : public NPT_DelegatingInputStream,
+ // NPT_OutputStream methods
+ NPT_Result Write(const void* buffer,
+ NPT_Size bytes_to_write,
+- NPT_Size* bytes_written = NULL);
+- NPT_Result Flush();
++ NPT_Size* bytes_written = NULL) override;
++ NPT_Result Flush() override;
+ NPT_Result SetEOS();
+ NPT_Result Abort();
+
+ protected:
+ // NPT_DelegatingInputStream methods
+- NPT_Result InputSeek(NPT_Position offset) {
++ NPT_Result InputSeek(NPT_Position offset) override {
+ NPT_COMPILER_UNUSED(offset);
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+- NPT_Result InputTell(NPT_Position& offset) {
++ NPT_Result InputTell(NPT_Position& offset) override {
+ NPT_AutoLock autoLock(m_Lock);
+ offset = m_TotalBytesRead;
+ return NPT_SUCCESS;
+ }
+
+ // NPT_DelegatingOutputStream methods
+- NPT_Result OutputSeek(NPT_Position offset) {
++ NPT_Result OutputSeek(NPT_Position offset) override {
+ NPT_COMPILER_UNUSED(offset);
+ return NPT_ERROR_NOT_SUPPORTED;
+ }
+- NPT_Result OutputTell(NPT_Position& offset) {
++ NPT_Result OutputTell(NPT_Position& offset) override {
+ NPT_AutoLock autoLock(m_Lock);
+ offset = m_TotalBytesWritten;
+ return NPT_SUCCESS;
+diff --git a/lib/libUPnP/Platinum/Source/Extras/PltStreamPump.h b/lib/libUPnP/Platinum/Source/Extras/PltStreamPump.h
+index 58ef256581a5..a022b88518e4 100644
+--- a/lib/libUPnP/Platinum/Source/Extras/PltStreamPump.h
++++ b/lib/libUPnP/Platinum/Source/Extras/PltStreamPump.h
+@@ -98,9 +98,9 @@ class PLT_PipeInputStreamPump : public PLT_StreamPump,
+ {
+ public:
+ PLT_PipeInputStreamPump(NPT_OutputStreamReference& output, NPT_Size size = 65535);
+- virtual ~PLT_PipeInputStreamPump();
++ ~PLT_PipeInputStreamPump() override;
+
+- NPT_Result Receive(NPT_InputStream& input, NPT_Size max_bytes_to_read, NPT_Size* bytes_read);
++ NPT_Result Receive(NPT_InputStream& input, NPT_Size max_bytes_to_read, NPT_Size* bytes_read) override;
+
+ protected:
+ NPT_OutputStreamReference m_Output;
+@@ -117,9 +117,9 @@ class PLT_PipeOutputStreamPump : public PLT_StreamPump,
+ PLT_PipeOutputStreamPump(NPT_InputStreamReference& input,
+ NPT_Size size = 65535,
+ NPT_Size max_bytes_to_read = 0);
+- virtual ~PLT_PipeOutputStreamPump();
++ ~PLT_PipeOutputStreamPump() override;
+
+- NPT_Result Transmit(NPT_OutputStream& output);
++ NPT_Result Transmit(NPT_OutputStream& output) override;
+
+ protected:
+ NPT_InputStreamReference m_Input;