From ec6a9a7147c49a5635b753226f73ae161b70f2eb Mon Sep 17 00:00:00 2001 From: Nate Weibley Date: Thu, 2 Jun 2016 17:39:02 -0400 Subject: [PATCH] Obligate LinkInterfaces to implement getLinkConfiguration. 11ab9aa0311fc0efbb03d3e387480f390f903ea7 introduced a bug where TCP links would cause a crash loading the sensors page --- src/comm/LinkInterface.h | 6 +++--- src/comm/LogReplayLink.h | 2 ++ src/comm/TCPLink.h | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/comm/LinkInterface.h b/src/comm/LinkInterface.h index a40d8ba..5a83bee 100644 --- a/src/comm/LinkInterface.h +++ b/src/comm/LinkInterface.h @@ -51,10 +51,10 @@ public: void setActive(bool active) { _active = active; emit activeChanged(active); } /** - * @brief Get link configuration (if used) - * @return A pointer to the instance of LinkConfiguration if supported. NULL otherwise. + * @brief Get link configuration + * @return A pointer to the instance of LinkConfiguration **/ - virtual LinkConfiguration* getLinkConfiguration() { return NULL; } + virtual LinkConfiguration* getLinkConfiguration() = 0; /* Connection management */ diff --git a/src/comm/LogReplayLink.h b/src/comm/LogReplayLink.h index 5ee7a81..923dfb6 100644 --- a/src/comm/LogReplayLink.h +++ b/src/comm/LogReplayLink.h @@ -57,6 +57,8 @@ class LogReplayLink : public LinkInterface friend class LinkManager; public: + virtual LinkConfiguration* getLinkConfiguration() { return _config; } + /// @return true: log is currently playing, false: log playback is paused bool isPlaying(void) { return _readTickTimer.isActive(); } diff --git a/src/comm/TCPLink.h b/src/comm/TCPLink.h index 1f1b3d7..c67606f 100644 --- a/src/comm/TCPLink.h +++ b/src/comm/TCPLink.h @@ -121,6 +121,7 @@ class TCPLink : public LinkInterface public: QTcpSocket* getSocket(void) { return _socket; } + virtual LinkConfiguration* getLinkConfiguration() { return _config; } void signalBytesWritten(void);