From b6ee45dbab5740264765b70f69adb4474de1382e Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Mon, 28 Jul 2008 16:19:50 +0000 Subject: [PATCH] Added virtual destructors (in most cases protected) to remove g++ warnings: 'class ...' has virtual functions but non-virtual destructor --- src/ca/cac.h | 2 ++ src/ca/comBuf.h | 4 ++++ src/ca/nciu.h | 2 ++ src/cas/generic/casMonitor.h | 2 ++ src/cas/generic/chanIntfForPV.h | 2 ++ src/cas/generic/inBuf.h | 2 ++ src/cas/generic/outBuf.h | 2 ++ src/libCom/fdmgr/fdManager.h | 4 +++- src/libCom/test/blockingSockTest.cpp | 2 ++ 9 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/ca/cac.h b/src/ca/cac.h index 1f5be3c81..ed46fc242 100644 --- a/src/ca/cac.h +++ b/src/ca/cac.h @@ -65,6 +65,8 @@ public: epicsGuard < epicsMutex > &, netWriteNotifyIO &io ) = 0; virtual void recycleSubscription ( epicsGuard < epicsMutex > &, netSubscription &io ) = 0; +protected: + virtual ~cacRecycle() {} }; struct CASG; diff --git a/src/ca/comBuf.h b/src/ca/comBuf.h index a92c731e1..dee58e542 100644 --- a/src/ca/comBuf.h +++ b/src/ca/comBuf.h @@ -49,6 +49,8 @@ public: virtual unsigned sendBytes ( const void * pBuf, unsigned nBytesInBuf, const class epicsTime & currentTime ) = 0; +protected: + virtual ~wireSendAdapter() {} }; enum swioCircuitState { @@ -67,6 +69,8 @@ class wireRecvAdapter { // X aCC 655 public: virtual void recvBytes ( void * pBuf, unsigned nBytesInBuf, statusWireIO & ) = 0; +protected: + virtual ~wireRecvAdapter() {} }; class comBuf : public tsDLNode < comBuf > { diff --git a/src/ca/nciu.h b/src/ca/nciu.h index 877226c71..481111cc8 100644 --- a/src/ca/nciu.h +++ b/src/ca/nciu.h @@ -128,6 +128,8 @@ public: virtual arrayElementCount nativeElementCount ( epicsGuard < epicsMutex > & ) const = 0; virtual bool connected ( epicsGuard < epicsMutex > & ) const = 0; +protected: + virtual ~privateInterfaceForIO() {} }; class nciu : diff --git a/src/cas/generic/casMonitor.h b/src/cas/generic/casMonitor.h index 03514277c..c2cf39ebd 100644 --- a/src/cas/generic/casMonitor.h +++ b/src/cas/generic/casMonitor.h @@ -44,6 +44,8 @@ public: virtual caStatus casMonitorCallBack ( epicsGuard < casClientMutex > &, casMonitor &, const gdd & ) = 0; +protected: + virtual ~casMonitorCallbackInterface() {} }; class casEvent; diff --git a/src/cas/generic/chanIntfForPV.h b/src/cas/generic/chanIntfForPV.h index a6a1335a2..ac9e5c895 100644 --- a/src/cas/generic/chanIntfForPV.h +++ b/src/cas/generic/chanIntfForPV.h @@ -44,6 +44,8 @@ class gdd; class casChannelDestroyFromPV { // X aCC 655 public: virtual void postDestroyEvent () = 0; +protected: + virtual ~casChannelDestroyFromPV() {} }; class chanIntfForPV : public tsDLNode < chanIntfForPV > { diff --git a/src/cas/generic/inBuf.h b/src/cas/generic/inBuf.h index b59d203de..e14bc4fb7 100644 --- a/src/cas/generic/inBuf.h +++ b/src/cas/generic/inBuf.h @@ -55,6 +55,8 @@ public: virtual fillCondition xRecv ( char *pBuf, bufSizeT nBytesToRecv, enum fillParameter parm, bufSizeT &nByesRecv ) = 0; virtual void hostName ( char *pBuf, unsigned bufSize ) const = 0; +protected: + virtual ~inBufClient() {} }; class inBuf { diff --git a/src/cas/generic/outBuf.h b/src/cas/generic/outBuf.h index 5812023fc..69624aba9 100644 --- a/src/cas/generic/outBuf.h +++ b/src/cas/generic/outBuf.h @@ -53,6 +53,8 @@ public: virtual flushCondition xSend ( char *pBuf, bufSizeT nBytesAvailableToSend, bufSizeT nBytesNeedToBeSent, bufSizeT &nBytesSent ) = 0; virtual void hostName ( char *pBuf, unsigned bufSize ) const = 0; +protected: + virtual ~outBufClient() {} }; // diff --git a/src/libCom/fdmgr/fdManager.h b/src/libCom/fdmgr/fdManager.h index ae61842a5..5fd0e3564 100644 --- a/src/libCom/fdmgr/fdManager.h +++ b/src/libCom/fdmgr/fdManager.h @@ -35,7 +35,7 @@ enum fdRegType {fdrRead, fdrWrite, fdrException, fdrNEnums}; // // file descriptor interest id // -class epicsShareClass fdRegId +class epicsShareClass fdRegId { public: @@ -60,6 +60,8 @@ public: resTableIndex hash () const; virtual void show (unsigned level) const; + + virtual ~fdRegId() {} private: SOCKET fd; fdRegType type; diff --git a/src/libCom/test/blockingSockTest.cpp b/src/libCom/test/blockingSockTest.cpp index 84a869527..75797fc84 100644 --- a/src/libCom/test/blockingSockTest.cpp +++ b/src/libCom/test/blockingSockTest.cpp @@ -38,6 +38,8 @@ protected: epicsThreadId id; bool recvWakeup; bool sendWakeup; +protected: + virtual ~circuit() {} }; class serverCircuit : public circuit {