summaryrefslogtreecommitdiffstats
path: root/ucb
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-01-26 08:56:55 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-01-26 08:56:55 +0100
commit6a16775c7828358ba0bf6ecdbd785991c06036f7 (patch)
tree8d3107f3a2f221c3aab1cab2d5520a6c80015c02 /ucb
parentloplugin:salbool (diff)
downloadcore-6a16775c7828358ba0bf6ecdbd785991c06036f7.tar.gz
core-6a16775c7828358ba0bf6ecdbd785991c06036f7.zip
loplugin:useuniqueptr
Change-Id: I1fa141ee0d8d818f3ed5b31faa1ac578ba791e39
Diffstat (limited to 'ucb')
-rw-r--r--ucb/source/ucp/webdav/webdavdatasupplier.cxx23
-rw-r--r--ucb/source/ucp/webdav/webdavdatasupplier.hxx5
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();