From 90d77644cf5a715379019e4f09cb5868a02f3c69 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Sun, 30 Oct 2016 12:23:54 +0100 Subject: Avoid manual pointer management of the TCPDataDispatcher --- src/dabOutput/dabOutput.h | 7 +------ src/dabOutput/dabOutputTcp.cpp | 10 +--------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/dabOutput/dabOutput.h b/src/dabOutput/dabOutput.h index eaa623f..c10d358 100644 --- a/src/dabOutput/dabOutput.h +++ b/src/dabOutput/dabOutput.h @@ -222,11 +222,6 @@ class TCPDataDispatcher; class DabOutputTcp : public DabOutput { public: - DabOutputTcp() {} - DabOutputTcp(const DabOutputTcp& other) = delete; - const DabOutputTcp& operator=(const DabOutputTcp& other) = delete; - ~DabOutputTcp(); - int Open(const char* name); int Write(void* buffer, int size); int Close(); @@ -238,7 +233,7 @@ class DabOutputTcp : public DabOutput private: std::string uri_; - TCPDataDispatcher* dispatcher_; + std::shared_ptr dispatcher_; }; // -------------- Simul ------------------ diff --git a/src/dabOutput/dabOutputTcp.cpp b/src/dabOutput/dabOutputTcp.cpp index 6485d15..94d379e 100644 --- a/src/dabOutput/dabOutputTcp.cpp +++ b/src/dabOutput/dabOutputTcp.cpp @@ -151,14 +151,6 @@ class TCPDataDispatcher std::list m_connections; }; -DabOutputTcp::~DabOutputTcp() -{ - if (dispatcher_) { - delete dispatcher_; - dispatcher_ = nullptr; - } -} - static bool parse_uri(const char *uri, long *port, string& addr) { char* const hostport = strdup(uri); // the uri is actually an tuple host:port @@ -205,7 +197,7 @@ int DabOutputTcp::Open(const char* name) uri_ = name; if (success) { - dispatcher_ = new TCPDataDispatcher(); + dispatcher_ = make_shared(); try { dispatcher_->start(port, address); } -- cgit v1.2.3