diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:27:56 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2012-03-14 13:32:02 +0100 |
commit | 6e67c03dc0225fc66343546b14e902b9d238b1a3 (patch) | |
tree | 6e078783d65e280a721b4e46f0ae0ca6b950f121 /connectivity/inc | |
parent | fe4be5047988782f3143a1af505c5eecb3f2af5a (diff) |
Enable -Wnon-virtual-dtor for GCC 4.6
...which has the necessary features to support it.
Change a lot of classes to either contain a protected non-virtual dtor
(which is backwards compatible, so even works for cppumaker-generated
UNO headers) or a public virtual one.
cppuhelper/propertysetmixin.hxx still needs to disable the warning, as
the relevant class has a non-virtual dtor but friends, which would still
cause GCC to warn.
Includes a patch for libcmis, intended to be upstreamed.
Diffstat (limited to 'connectivity/inc')
6 files changed, 37 insertions, 0 deletions
diff --git a/connectivity/inc/connectivity/IParseContext.hxx b/connectivity/inc/connectivity/IParseContext.hxx index 16bae3465820..1724b7310bbc 100644 --- a/connectivity/inc/connectivity/IParseContext.hxx +++ b/connectivity/inc/connectivity/IParseContext.hxx @@ -102,6 +102,9 @@ namespace connectivity <p>if this is not overridden by derived classes, it returns the static default locale.</p> */ virtual ::com::sun::star::lang::Locale getPreferredLocale( ) const = 0; + + protected: + ~IParseContext() {} }; } diff --git a/connectivity/inc/connectivity/SQLStatementHelper.hxx b/connectivity/inc/connectivity/SQLStatementHelper.hxx index c64268debfd9..daf1ddc7308e 100644 --- a/connectivity/inc/connectivity/SQLStatementHelper.hxx +++ b/connectivity/inc/connectivity/SQLStatementHelper.hxx @@ -42,6 +42,9 @@ namespace dbtools { public: virtual void addComment(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor,::rtl::OUStringBuffer& _rOut) = 0; + + protected: + ~ISQLStatementHelper() {} }; //......................................................................... diff --git a/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx b/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx index 769ed2107536..318f006d1216 100644 --- a/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx +++ b/connectivity/inc/connectivity/sdbcx/IRefreshable.hxx @@ -39,18 +39,27 @@ namespace connectivity { public: virtual void refreshGroups() = 0; + + protected: + ~IRefreshableGroups() {} }; class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IRefreshableUsers { public: virtual void refreshUsers() = 0; + + protected: + ~IRefreshableUsers() {} }; class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IRefreshableColumns { public: virtual void refreshColumns() = 0; + + protected: + ~IRefreshableColumns() {} }; } } diff --git a/connectivity/inc/connectivity/sdbcx/VCollection.hxx b/connectivity/inc/connectivity/sdbcx/VCollection.hxx index c3262b450ca0..6db38b278464 100644 --- a/connectivity/inc/connectivity/sdbcx/VCollection.hxx +++ b/connectivity/inc/connectivity/sdbcx/VCollection.hxx @@ -73,6 +73,7 @@ namespace connectivity class OOO_DLLPUBLIC_DBTOOLS SAL_NO_VTABLE IObjectCollection { public: + virtual ~IObjectCollection(); virtual void reserve(size_t nLength) = 0; virtual bool exists(const ::rtl::OUString& _sName ) = 0; virtual bool empty() = 0; diff --git a/connectivity/inc/connectivity/virtualdbtools.hxx b/connectivity/inc/connectivity/virtualdbtools.hxx index fe023e2acfc9..cf42a52db14b 100644 --- a/connectivity/inc/connectivity/virtualdbtools.hxx +++ b/connectivity/inc/connectivity/virtualdbtools.hxx @@ -226,6 +226,9 @@ namespace connectivity const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent, ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection ) = 0; + + protected: + ~IDataAccessTools() {} }; //================================================================ @@ -244,6 +247,9 @@ namespace connectivity virtual sal_Int32 getSupportedTextEncodings( ::std::vector< rtl_TextEncoding >& /* [out] */ _rEncs ) const = 0; + + protected: + ~IDataAccessCharSet() {} }; //================================================================ @@ -272,6 +278,9 @@ namespace connectivity const ::com::sun::star::lang::Locale& _rLocale, const ::com::sun::star::util::Date& _rNullDate ) const = 0; + + protected: + ~IDataAccessTypeConversion() {} }; //================================================================ @@ -295,6 +304,9 @@ namespace connectivity const sal_Char _cDecSeparator, const IParseContext* _pContext ) const = 0; + + protected: + ~ISQLParseNode() {} }; //================================================================ @@ -313,6 +325,9 @@ namespace connectivity ) const = 0; virtual const IParseContext& getContext() const = 0; + + protected: + ~ISQLParser() {} }; //================================================================ @@ -344,6 +359,9 @@ namespace connectivity const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& _rxRowSet, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn ) = 0; + + protected: + ~IDataAccessToolsFactory() {} }; //.................................................................... diff --git a/connectivity/inc/connectivity/warningscontainer.hxx b/connectivity/inc/connectivity/warningscontainer.hxx index 273390ccbf7f..937fd8be343b 100644 --- a/connectivity/inc/connectivity/warningscontainer.hxx +++ b/connectivity/inc/connectivity/warningscontainer.hxx @@ -50,6 +50,9 @@ namespace dbtools virtual void appendWarning(const ::com::sun::star::sdbc::SQLException& _rWarning) = 0; virtual void appendWarning(const ::com::sun::star::sdbc::SQLWarning& _rWarning) = 0; virtual void appendWarning(const ::com::sun::star::sdb::SQLContext& _rContext) = 0; + + protected: + ~IWarningsContainer() {} }; //==================================================================== |