diff --git a/src/core/codeconvert.h b/src/core/codeconvert.h index 1829fd0..085f6c6 100644 --- a/src/core/codeconvert.h +++ b/src/core/codeconvert.h @@ -117,10 +117,9 @@ class iCodeConverter protected: - iCodeConverter() - { - }; - + iCodeConverter() {} + virtual ~iCodeConverter() {} + private: static iCodeConverter* CreateConverter(); @@ -170,7 +169,7 @@ class cIconvConverter : public iCodeConverter virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); cIconvConverter(); - ~cIconvConverter(); + virtual ~cIconvConverter(); private: void Init(); @@ -189,7 +188,7 @@ class cDoubleIconvConverter : public iCodeConverter virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); cDoubleIconvConverter(); - ~cDoubleIconvConverter(); + virtual ~cDoubleIconvConverter(); private: @@ -221,6 +220,8 @@ class cWcharIs32BitUcs2Converterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cWcharIs32BitUcs2Converterer() {} }; #endif // WCHAR_IS_32_BITS @@ -239,6 +240,8 @@ class cWcharIs16BitUcs2Converterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cWcharIs16BitUcs2Converterer() {} }; #endif // WCHAR_IS_16_BITS @@ -250,6 +253,8 @@ class cGoodEnoughConverterer : public iCodeConverter public: virtual int Convert( ntmbs_t, size_t, const_ntdbs_t, size_t ); virtual int Convert( ntdbs_t, size_t, const_ntmbs_t, size_t ); + + virtual ~cGoodEnoughConverterer() {} }; diff --git a/src/core/serializable.h b/src/core/serializable.h index f9e61a2..e8fc794 100644 --- a/src/core/serializable.h +++ b/src/core/serializable.h @@ -82,9 +82,7 @@ public: virtual void Write(iSerializer* pSerializer) const = 0; // throw (eSerializer, eArchive) // objects implement these methods to read and write themselves to a serializer. - #ifdef _SUNPRO - ~iSerializable(); - #endif + virtual ~iSerializable() {} }; class iTypedSerializable : public iTyped, public iSerializable @@ -101,9 +99,7 @@ public: static int16 MajorVersion(int32 version) { return (int16)((uint32)version >> 16); } static int16 MinorVersion(int32 version) { return (int16)version; } - #ifdef _SUNPRO - ~iTypedSerializable(); - #endif + virtual ~iTypedSerializable() {} }; ////////////////////////////// diff --git a/src/core/serializer.h b/src/core/serializer.h index ec7ffcc..5d03b69 100644 --- a/src/core/serializer.h +++ b/src/core/serializer.h @@ -155,6 +155,8 @@ public: E_OUTPUT_STREAM_FORMAT = 706, E_NUMITEMS }; + + virtual ~iSerializer() {} }; diff --git a/src/core/twlimits.h b/src/core/twlimits.h index 1182ad0..5625b59 100644 --- a/src/core/twlimits.h +++ b/src/core/twlimits.h @@ -88,6 +88,9 @@ private: // virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cInterpretInt() {} }; /////////////////////////////////////////////// @@ -104,6 +107,9 @@ private: virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cSeverityLimits() {} }; /////////////////////////////////////////////// @@ -120,6 +126,9 @@ private: virtual int GetMax() { return LIMIT_MAX; }; virtual int GetMin() { return LIMIT_MIN; }; + +public: + virtual ~cRecurseDepthLimits() {} }; #endif //__TWLIMITS_H diff --git a/src/core/typed.h b/src/core/typed.h index f32afbc..470e964 100644 --- a/src/core/typed.h +++ b/src/core/typed.h @@ -62,9 +62,7 @@ public: // (b) returning that object in their implementation of GetType() // You can use the macros below to simplify the process - #ifdef _SUNPRO - ~iTyped(); - #endif + virtual ~iTyped() {} }; ////////////////////////////////////////////// diff --git a/src/fco/fconameinfo.h b/src/fco/fconameinfo.h index efee64a..4b9b687 100644 --- a/src/fco/fconameinfo.h +++ b/src/fco/fconameinfo.h @@ -47,6 +47,7 @@ class iFCONameInfo public: virtual bool IsCaseSensitive() const = 0; virtual TCHAR GetDelimitingChar() const = 0; + virtual ~iFCONameInfo() {} }; diff --git a/src/fco/fconametranslator.h b/src/fco/fconametranslator.h index 2e01c32..fa221d8 100644 --- a/src/fco/fconametranslator.h +++ b/src/fco/fconametranslator.h @@ -82,6 +82,8 @@ public: virtual bool DisplayStringToFCOName( const TSTRING& str, cFCOName& name ) const = 0; // this function converts strings from FCONameToDisplayString back into an fconame // returns false if can't convert. + + virtual ~iFCONameTranslator() {} }; #endif //__FCONAMETRANSLATOR_H diff --git a/src/fco/fcospec.h b/src/fco/fcospec.h index f4b6f09..c0b55e2 100644 --- a/src/fco/fcospec.h +++ b/src/fco/fcospec.h @@ -56,6 +56,8 @@ class iFCOSpecHelper; class iFCOSpec : public iSerRefCountObj { public: + virtual ~iFCOSpec() {} + virtual const TSTRING& GetName() const = 0; // returns the name of this FCOSpec virtual void SetName(const TSTRING& name) = 0; @@ -120,13 +122,14 @@ public: class iFCOSpecMask { public: - virtual const TSTRING& GetName() const = 0; + virtual ~iFCOSpecMask() {} + virtual const TSTRING& GetName() const = 0; // return the name of this mask - virtual bool Accept(const iFCO* pFCO) const = 0; + virtual bool Accept(const iFCO* pFCO) const = 0; // returns true if the fco matches the criterion in the SpecMask - static const iFCOSpecMask* GetDefaultMask(); + static const iFCOSpecMask* GetDefaultMask(); // returns the "default mask" that all iFCOSpecs must have. The default // mask matches every FCO and is called "Default". There is no need to // destroy the returned pointer @@ -136,7 +139,7 @@ public: // inline implementation inline const cFCOPropVector& iFCOSpec::GetPropVector(const iFCO* pFCO) const { - return GetPropVector(GetSpecMask(pFCO)); + return GetPropVector(GetSpecMask(pFCO)); } diff --git a/src/fs/fsfactory.cpp b/src/fs/fsfactory.cpp index 297faad..ef6bed5 100644 --- a/src/fs/fsfactory.cpp +++ b/src/fs/fsfactory.cpp @@ -59,6 +59,8 @@ public: { return _T('/'); } + + virtual ~cUnixNameInfo() {} }; diff --git a/src/fs/fsnametranslator.h b/src/fs/fsnametranslator.h index 2fce030..889bfd9 100644 --- a/src/fs/fsnametranslator.h +++ b/src/fs/fsnametranslator.h @@ -58,6 +58,8 @@ public: virtual TSTRING ToStringAPI( const cFCOName& name ) const; virtual TSTRING ToStringDisplay( const cFCOName& name, bool bUnique = false ) const; virtual bool DisplayStringToFCOName( const TSTRING& str, cFCOName& name ) const; + + virtual ~cFSNameTranslator() {} }; #endif //__FSNAMETRANSLATOR_H diff --git a/src/tripwire/mailmessage.h b/src/tripwire/mailmessage.h index d080aaa..302aff0 100644 --- a/src/tripwire/mailmessage.h +++ b/src/tripwire/mailmessage.h @@ -150,8 +150,9 @@ public: class iMimeEncoding { - public: - +public: + virtual ~iMimeEncoding() {} + virtual std::string Encode( const std::string& sIn, @@ -173,7 +174,9 @@ class iMimeEncoding // TODO:BAM -- convert ToBase64 to Encode class cBase64Encoding : public iMimeEncoding { - public: +public: + virtual ~cBase64Encoding() {} + virtual std::string Encode( const std::string& sIn, @@ -191,7 +194,9 @@ class cBase64Encoding : public iMimeEncoding class cQuotedPrintableEncoding : public iMimeEncoding { - public: +public: + virtual ~cQuotedPrintableEncoding() {} + virtual std::string Encode( const std::string& sIn, diff --git a/src/twprint/twprintcmdline.h b/src/twprint/twprintcmdline.h index bbc46ba..95ef256 100644 --- a/src/twprint/twprintcmdline.h +++ b/src/twprint/twprintcmdline.h @@ -121,6 +121,8 @@ public: // Returns a TSTRING that describes specific usage for a derived mode. virtual cTWPrintCmdLine::CmdLineArgs GetModeID() = 0; virtual void SetConfigFile( TSTRING configFilePath ) = 0; + + virtual ~iTWMode() {} }; ///////////////////////////////////////////////////////////////////////////////