diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2017-01-26 08:56:55 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2017-01-26 08:56:55 +0100 |
commit | 6a16775c7828358ba0bf6ecdbd785991c06036f7 (patch) | |
tree | 8d3107f3a2f221c3aab1cab2d5520a6c80015c02 /ucb | |
parent | 9f80fceaa2ed360ef39710eefa5d00f2ad57a718 (diff) |
loplugin:useuniqueptr
Change-Id: I1fa141ee0d8d818f3ed5b31faa1ac578ba791e39
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/ucp/webdav/webdavdatasupplier.cxx | 23 | ||||
-rw-r--r-- | ucb/source/ucp/webdav/webdavdatasupplier.hxx | 5 |
2 files changed, 17 insertions, 11 deletions
diff --git a/ucb/source/ucp/webdav/webdavdatasupplier.cxx b/ucb/source/ucp/webdav/webdavdatasupplier.cxx index cfb8dd5c23f8..9765d8486d6b 100644 --- a/ucb/source/ucp/webdav/webdavdatasupplier.cxx +++ b/ucb/source/ucp/webdav/webdavdatasupplier.cxx @@ -17,6 +17,12 @@ * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ +#include <sal/config.h> + +#include <memory> +#include <utility> + +#include <o3tl/make_unique.hxx> #include <osl/diagnose.h> #include <com/sun/star/ucb/OpenMode.hpp> #include <ucbhelper/contentidentifier.hxx> @@ -43,10 +49,9 @@ struct ResultListEntry uno::Reference< ucb::XContentIdentifier > xId; uno::Reference< ucb::XContent > xContent; uno::Reference< sdbc::XRow > xRow; - const ContentProperties* pData; + std::unique_ptr<ContentProperties> pData; - explicit ResultListEntry( const ContentProperties* pEntry ) : pData( pEntry ) {} - ~ResultListEntry() { delete pData; } + explicit ResultListEntry( std::unique_ptr<ContentProperties> && pEntry ) : pData( std::move(pEntry) ) {} }; @@ -101,16 +106,14 @@ DataSupplier::DataSupplier( const uno::Reference< uno::XComponentContext >& rxContext, const rtl::Reference< Content >& rContent, sal_Int32 nOpenMode ) -: m_pImpl( new DataSupplier_Impl( rxContext, rContent, nOpenMode ) ) +: m_pImpl(o3tl::make_unique<DataSupplier_Impl>(rxContext, rContent, nOpenMode)) { } // virtual DataSupplier::~DataSupplier() -{ - delete m_pImpl; -} +{} // virtual @@ -415,8 +418,8 @@ bool DataSupplier::getData() } } - ContentProperties* pContentProperties - = new ContentProperties( rRes ); + std::unique_ptr<ContentProperties> pContentProperties + = o3tl::make_unique<ContentProperties>( rRes ); // Check resource against open mode. switch ( m_pImpl->m_nOpenMode ) @@ -455,7 +458,7 @@ bool DataSupplier::getData() } m_pImpl->m_aResults.push_back( - new ResultListEntry( pContentProperties ) ); + new ResultListEntry( std::move(pContentProperties) ) ); } } catch ( DAVException const & ) diff --git a/ucb/source/ucp/webdav/webdavdatasupplier.hxx b/ucb/source/ucp/webdav/webdavdatasupplier.hxx index 053e61a82f32..7c168c0e661d 100644 --- a/ucb/source/ucp/webdav/webdavdatasupplier.hxx +++ b/ucb/source/ucp/webdav/webdavdatasupplier.hxx @@ -21,6 +21,9 @@ #ifndef INCLUDED_UCB_SOURCE_UCP_WEBDAV_WEBDAVDATASUPPLIER_HXX #define INCLUDED_UCB_SOURCE_UCP_WEBDAV_WEBDAVDATASUPPLIER_HXX +#include <sal/config.h> + +#include <memory> #include <vector> #include <rtl/ref.hxx> #include <ucbhelper/resultset.hxx> @@ -34,7 +37,7 @@ class ContentProperties; class DataSupplier : public ucbhelper::ResultSetDataSupplier { - DataSupplier_Impl* m_pImpl; + std::unique_ptr<DataSupplier_Impl> m_pImpl; private: bool getData(); |