summaryrefslogtreecommitdiff
path: root/dbaccess/source
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2015-07-13 16:17:00 +0200
committerNoel Grandin <noelgrandin@gmail.com>2015-08-03 06:37:16 +0000
commit2660d24a07866e083c5135ea263030f3e3a2e729 (patch)
tree0089d6018d4fc33a7fde955e585e77191cdd258b /dbaccess/source
parentbaba1d14766282bd2c592bffd79ed69f9078cfe1 (diff)
new loplugin: refcounting
This was a feature requested by mmeeks, as a result of tdf#92611. It validates that things that extend XInterface are not directly heap/stack-allocated, but have their lifecycle managed via css::uno::Reference or rtl::Reference. Change-Id: I28e3b8b236f6a4a56d0a6d6f26ad54e44b36e692 Reviewed-on: https://gerrit.libreoffice.org/16924 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
Diffstat (limited to 'dbaccess/source')
-rw-r--r--dbaccess/source/core/dataaccess/ComponentDefinition.cxx13
-rw-r--r--dbaccess/source/core/dataaccess/ComponentDefinition.hxx2
-rw-r--r--dbaccess/source/core/dataaccess/datasource.cxx4
-rw-r--r--dbaccess/source/core/dataaccess/datasource.hxx2
-rw-r--r--dbaccess/source/ui/misc/singledoccontroller.cxx10
5 files changed, 16 insertions, 15 deletions
diff --git a/dbaccess/source/core/dataaccess/ComponentDefinition.cxx b/dbaccess/source/core/dataaccess/ComponentDefinition.cxx
index 7708a6a1ca0f..ae89078aa20a 100644
--- a/dbaccess/source/core/dataaccess/ComponentDefinition.cxx
+++ b/dbaccess/source/core/dataaccess/ComponentDefinition.cxx
@@ -191,8 +191,9 @@ Reference< XInterface > OComponentDefinition::Create( const Reference< XComponen
void SAL_CALL OComponentDefinition::disposing()
{
OContentHelper::disposing();
- if ( m_pColumns.get() )
- m_pColumns->disposing();
+ if ( m_xColumns.is() )
+ m_xColumns->disposing();
+ m_xColumns.clear();
m_xColumnPropertyListener->clear();
m_xColumnPropertyListener.clear();
}
@@ -227,7 +228,7 @@ Reference< XNameAccess> OComponentDefinition::getColumns() throw (RuntimeExcepti
::osl::MutexGuard aGuard(m_aMutex);
::connectivity::checkDisposed(OContentHelper::rBHelper.bDisposed);
- if ( !m_pColumns.get() )
+ if ( !m_xColumns.is() )
{
::std::vector< OUString> aNames;
@@ -239,10 +240,10 @@ Reference< XNameAccess> OComponentDefinition::getColumns() throw (RuntimeExcepti
for ( ; aIter != aEnd; ++aIter )
aNames.push_back( aIter->first );
- m_pColumns.reset( new OColumns( *this, m_aMutex, true, aNames, this, NULL, true, false, false ) );
- m_pColumns->setParent( *this );
+ m_xColumns = new OColumns( *this, m_aMutex, true, aNames, this, NULL, true, false, false );
+ m_xColumns->setParent( *this );
}
- return m_pColumns.get();
+ return m_xColumns.get();
}
OColumn* OComponentDefinition::createColumn(const OUString& _rName) const
diff --git a/dbaccess/source/core/dataaccess/ComponentDefinition.hxx b/dbaccess/source/core/dataaccess/ComponentDefinition.hxx
index ad177f52a067..b561874992c4 100644
--- a/dbaccess/source/core/dataaccess/ComponentDefinition.hxx
+++ b/dbaccess/source/core/dataaccess/ComponentDefinition.hxx
@@ -88,7 +88,7 @@ class OComponentDefinition :public OContentHelper
OComponentDefinition();
protected:
- ::std::unique_ptr< OColumns > m_pColumns;
+ css::uno::Reference< OColumns > m_xColumns;
rtl::Reference<OColumnPropertyListener> m_xColumnPropertyListener;
bool m_bTable;
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index 5568cb87bbad..1f80f08bf4fa 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -491,7 +491,7 @@ ODatabaseSource::ODatabaseSource(const ::rtl::Reference<ODatabaseModelImpl>& _pI
:ModelDependentComponent( _pImpl )
,ODatabaseSource_Base( getMutex() )
,OPropertySetHelper( ODatabaseSource_Base::rBHelper )
- ,m_aBookmarks( *this, getMutex() )
+ ,m_xBookmarks( new OBookmarkContainer( *this, getMutex() ) )
,m_aFlushListeners( getMutex() )
{
// some kind of default
@@ -1200,7 +1200,7 @@ Reference< XConnection > ODatabaseSource::getConnection(const OUString& user, co
Reference< XNameAccess > SAL_CALL ODatabaseSource::getBookmarks( ) throw (RuntimeException, std::exception)
{
ModelMethodGuard aGuard( *this );
- return static_cast< XNameContainer* >(&m_aBookmarks);
+ return static_cast< XNameContainer* >(m_xBookmarks.get());
}
Reference< XNameAccess > SAL_CALL ODatabaseSource::getQueryDefinitions( ) throw(RuntimeException, std::exception)
diff --git a/dbaccess/source/core/dataaccess/datasource.hxx b/dbaccess/source/core/dataaccess/datasource.hxx
index 8e53e9facd73..1aef2a7dad26 100644
--- a/dbaccess/source/core/dataaccess/datasource.hxx
+++ b/dbaccess/source/core/dataaccess/datasource.hxx
@@ -82,7 +82,7 @@ class ODatabaseSource :public ModelDependentComponent // must be first
private:
using ODatabaseSource_Base::rBHelper;
- OBookmarkContainer m_aBookmarks;
+ css::uno::Reference<OBookmarkContainer> m_xBookmarks;
::cppu::OInterfaceContainerHelper m_aFlushListeners;
private:
diff --git a/dbaccess/source/ui/misc/singledoccontroller.cxx b/dbaccess/source/ui/misc/singledoccontroller.cxx
index 77408cdaf51a..ed6180b2937f 100644
--- a/dbaccess/source/ui/misc/singledoccontroller.cxx
+++ b/dbaccess/source/ui/misc/singledoccontroller.cxx
@@ -54,10 +54,10 @@ namespace dbaui
// OSingleDocumentController_Data
struct OSingleDocumentController_Data
{
- ::boost::scoped_ptr< UndoManager > m_pUndoManager;
+ Reference< UndoManager > m_xUndoManager;
OSingleDocumentController_Data( ::cppu::OWeakObject& i_parent, ::osl::Mutex& i_mutex )
- :m_pUndoManager( new UndoManager( i_parent, i_mutex ) )
+ :m_xUndoManager( new UndoManager( i_parent, i_mutex ) )
{
}
};
@@ -77,7 +77,7 @@ namespace dbaui
{
OSingleDocumentController_Base::disposing();
ClearUndoManager();
- m_pData->m_pUndoManager->disposing();
+ m_pData->m_xUndoManager->disposing();
}
void SAL_CALL OSingleDocumentController::disposing( const EventObject& i_event ) throw( RuntimeException, std::exception )
@@ -93,7 +93,7 @@ namespace dbaui
SfxUndoManager& OSingleDocumentController::GetUndoManager() const
{
- return m_pData->m_pUndoManager->GetSfxUndoManager();
+ return m_pData->m_xUndoManager->GetSfxUndoManager();
}
void OSingleDocumentController::addUndoActionAndInvalidate(SfxUndoAction *_pAction)
@@ -111,7 +111,7 @@ namespace dbaui
Reference< XUndoManager > SAL_CALL OSingleDocumentController::getUndoManager( ) throw (RuntimeException, std::exception)
{
- return m_pData->m_pUndoManager.get();
+ return m_pData->m_xUndoManager.get();
}
FeatureState OSingleDocumentController::GetState(sal_uInt16 _nId) const