diff options
-rw-r--r-- | dbaccess/source/core/api/CRowSetDataColumn.cxx | 11 | ||||
-rw-r--r-- | dbaccess/source/core/api/column.cxx | 8 | ||||
-rw-r--r-- | dbaccess/source/core/api/datacolumn.cxx | 12 | ||||
-rw-r--r-- | dbaccess/source/core/api/datacolumn.hxx | 5 | ||||
-rw-r--r-- | dbaccess/source/core/api/definitioncolumn.cxx | 25 | ||||
-rw-r--r-- | dbaccess/source/core/api/query.cxx | 22 | ||||
-rw-r--r-- | dbaccess/source/core/api/query.hxx | 10 | ||||
-rw-r--r-- | dbaccess/source/core/api/querydescriptor.cxx | 22 | ||||
-rw-r--r-- | dbaccess/source/core/api/querydescriptor.hxx | 6 | ||||
-rw-r--r-- | dbaccess/source/core/api/resultcolumn.cxx | 12 | ||||
-rw-r--r-- | dbaccess/source/core/api/resultcolumn.hxx | 5 | ||||
-rw-r--r-- | dbaccess/source/core/dataaccess/commanddefinition.cxx | 11 |
12 files changed, 109 insertions, 40 deletions
diff --git a/dbaccess/source/core/api/CRowSetDataColumn.cxx b/dbaccess/source/core/api/CRowSetDataColumn.cxx index 3c5259dd3e72..77f3d40b66c0 100644 --- a/dbaccess/source/core/api/CRowSetDataColumn.cxx +++ b/dbaccess/source/core/api/CRowSetDataColumn.cxx @@ -2,9 +2,9 @@ * * $RCSfile: CRowSetDataColumn.cxx,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: oj $ $Date: 2001-08-13 14:03:54 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,6 +77,9 @@ #ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_ #include <com/sun/star/beans/PropertyAttribute.hpp> #endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif using namespace dbaccess; using namespace comphelper; @@ -91,6 +94,7 @@ using namespace ::com::sun::star::util; using namespace cppu; using namespace osl; +DBG_NAME(ORowSetDataColumn); // ------------------------------------------------------------------------- ORowSetDataColumn::ORowSetDataColumn( const Reference < XResultSetMetaData >& _xMetaData, const Reference < XRow >& _xRow, @@ -104,11 +108,12 @@ ORowSetDataColumn::ORowSetDataColumn( const Reference < XResultSetMetaData >& ,m_aColumnValue(_rColumnValue) ,m_rEnd(_rEnd) { - + DBG_CTOR(ORowSetDataColumn,NULL); } // ------------------------------------------------------------------------- ORowSetDataColumn::~ORowSetDataColumn() { + DBG_DTOR(ORowSetDataColumn,NULL); } // ------------------------------------------------------------------------- // comphelper::OPropertyArrayUsageHelper diff --git a/dbaccess/source/core/api/column.cxx b/dbaccess/source/core/api/column.cxx index 774d605350d1..964b9b0514d3 100644 --- a/dbaccess/source/core/api/column.cxx +++ b/dbaccess/source/core/api/column.cxx @@ -2,9 +2,9 @@ * * $RCSfile: column.cxx,v $ * - * $Revision: 1.28 $ + * $Revision: 1.29 $ * - * last change: $Author: oj $ $Date: 2001-08-13 14:03:54 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -548,11 +548,11 @@ Sequence< ::rtl::OUString > OColumns::getSupportedServiceNames( ) throw (Runtim void OColumns::append(const ::rtl::OUString& rName, OColumn* pCol) { MutexGuard aGuard(m_rMutex); - pCol->acquire(); + pCol->m_sName = rName; OSL_ENSURE(m_aNameMap.find(rName) == m_aNameMap.end(),"OColumns::append: Column already exists"); - insertElement(rName,pCol); + insertElement(rName,pCol); // already acuires the column } //------------------------------------------------------------------ diff --git a/dbaccess/source/core/api/datacolumn.cxx b/dbaccess/source/core/api/datacolumn.cxx index 0faf026d3ed7..eacb6dbdc59f 100644 --- a/dbaccess/source/core/api/datacolumn.cxx +++ b/dbaccess/source/core/api/datacolumn.cxx @@ -2,9 +2,9 @@ * * $RCSfile: datacolumn.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: oj $ $Date: 2001-06-26 10:12:41 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -97,7 +97,7 @@ using namespace ::osl; using namespace ::comphelper; using namespace ::cppu; - +DBG_NAME(ODataColumn); //-------------------------------------------------------------------------- ODataColumn::ODataColumn( const Reference < XResultSetMetaData >& _xMetaData, @@ -108,6 +108,12 @@ ODataColumn::ODataColumn( ,m_xRow(_xRow) ,m_xRowUpdate(_xRowUpdate) { + DBG_CTOR(ODataColumn,NULL); +} +// ----------------------------------------------------------------------------- +ODataColumn::~ODataColumn() +{ + DBG_DTOR(ODataColumn,NULL); } // com::sun::star::lang::XTypeProvider diff --git a/dbaccess/source/core/api/datacolumn.hxx b/dbaccess/source/core/api/datacolumn.hxx index cabafab17590..5c364dc2ec49 100644 --- a/dbaccess/source/core/api/datacolumn.hxx +++ b/dbaccess/source/core/api/datacolumn.hxx @@ -2,9 +2,9 @@ * * $RCSfile: datacolumn.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: oj $ $Date: 2000-11-03 14:32:31 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -93,6 +93,7 @@ namespace dbaccess ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XRow > m_xRow; ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XRowUpdate > m_xRowUpdate; + virtual ~ODataColumn(); public: ODataColumn (const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XResultSetMetaData >& _xMetaData, const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XRow >& _xRow, diff --git a/dbaccess/source/core/api/definitioncolumn.cxx b/dbaccess/source/core/api/definitioncolumn.cxx index 3f11ed323892..46652a66f634 100644 --- a/dbaccess/source/core/api/definitioncolumn.cxx +++ b/dbaccess/source/core/api/definitioncolumn.cxx @@ -2,9 +2,9 @@ * * $RCSfile: definitioncolumn.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: oj $ $Date: 2001-05-30 10:45:56 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -334,9 +334,17 @@ void OTableColumnDescriptor::setFastPropertyValue_NoBroadcast( //============================================================ //= OTableColumn //============================================================ +DBG_NAME(OTableColumn); +OTableColumn::OTableColumn(const ::rtl::OUString& _rName) +{ + DBG_CTOR(OTableColumn,NULL); + m_sName = _rName; +} // ------------------------------------------------------------------------- OTableColumn::OTableColumn(const Reference<XPropertySet>& _xColumn) { + DBG_CTOR(OTableColumn,NULL); + m_aTypeName = (::comphelper::getString(_xColumn->getPropertyValue(PROPERTY_TYPENAME))); if(_xColumn->getPropertySetInfo()->hasPropertyByName(PROPERTY_DEFAULTVALUE)) m_aDefaultValue = (::comphelper::getString(_xColumn->getPropertyValue(PROPERTY_DEFAULTVALUE))); @@ -349,7 +357,11 @@ OTableColumn::OTableColumn(const Reference<XPropertySet>& _xColumn) m_bCurrency = (::comphelper::getBOOL(_xColumn->getPropertyValue(PROPERTY_ISCURRENCY))); _xColumn->getPropertyValue(PROPERTY_NAME) >>= m_sName; } - +// ----------------------------------------------------------------------------- +OTableColumn::~OTableColumn() +{ + DBG_DTOR(OTableColumn,NULL); +} // com::sun::star::lang::XTypeProvider //-------------------------------------------------------------------------- Sequence< sal_Int8 > OTableColumn::getImplementationId() throw (RuntimeException) @@ -417,11 +429,13 @@ Sequence< ::rtl::OUString > OTableColumn::getSupportedServiceNames( ) throw (Ru //============================================================ //= OColumnWrapper //============================================================ +DBG_NAME(OColumnWrapper); //-------------------------------------------------------------------------- OColumnWrapper::OColumnWrapper(const Reference< XPropertySet > & rCol) :m_xAggregate(rCol) ,m_nColTypeID(-1) { + DBG_CTOR(OColumnWrapper,NULL); // which type of aggregate property do we have if (m_nColTypeID == -1) { @@ -438,6 +452,11 @@ OColumnWrapper::OColumnWrapper(const Reference< XPropertySet > & rCol) m_xAggregate->getPropertyValue(PROPERTY_NAME) >>= m_sName; } } +// ----------------------------------------------------------------------------- +OColumnWrapper::~OColumnWrapper() +{ + DBG_DTOR(OColumnWrapper,NULL); +} //------------------------------------------------------------------------------ void OColumnWrapper::getFastPropertyValue( Any& rValue, sal_Int32 nHandle ) const diff --git a/dbaccess/source/core/api/query.cxx b/dbaccess/source/core/api/query.cxx index 37de3d67c18d..893c4e8a49f7 100644 --- a/dbaccess/source/core/api/query.cxx +++ b/dbaccess/source/core/api/query.cxx @@ -2,9 +2,9 @@ * * $RCSfile: query.cxx,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: oj $ $Date: 2001-07-18 08:45:27 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -97,6 +97,10 @@ #ifndef _DBACORE_DEFINITIONCOLUMN_HXX_ #include "definitioncolumn.hxx" #endif +#ifndef INCLUDED_FUNCTIONAL +#define INCLUDED_FUNCTIONAL +#include <functional> +#endif // INCLUDED_FUNCTIONAL using namespace dbaccess; using namespace ::com::sun::star::uno; @@ -350,6 +354,14 @@ OColumn* OQuery_LINUX::createColumn(const ::rtl::OUString& _rName) const return NULL; return aIter->second; } +/// unary_function Functor object for class ZZ returntype is void +struct TRelease : ::std::unary_function< OQuery_LINUX::TNameColumnMap::value_type ,void> +{ + inline void operator()(const OQuery_LINUX::TNameColumnMap::value_type& _aType) + { + _aType.second->release(); + } +}; // ----------------------------------------------------------------------------- void OQuery_LINUX::readColumnSettings(const OConfigurationNode& _rConfigLocation) @@ -375,6 +387,7 @@ void OQuery_LINUX::readColumnSettings(const OConfigurationNode& _rConfigLocation Reference<XPropertySet> xSource; xColumns->getByName(*pBegin) >>= xSource; OTableColumn* pColumn = new OTableColumn(xSource); + pColumn->acquire(); m_aColumnMap[*pBegin] = pColumn; } } @@ -391,7 +404,10 @@ void OQuery_LINUX::readColumnSettings(const OConfigurationNode& _rConfigLocation { } OQueryDescriptor::readColumnSettings(_rConfigLocation); - m_aColumnMap = ::std::map< ::rtl::OUString,OColumn*,::comphelper::UStringMixLess>(); + + ::std::for_each(m_aColumnMap.begin(),m_aColumnMap.end(),TRelease()); + + TNameColumnMap().swap(m_aColumnMap);// clear the map and memory // check if columns were set from configuration when not we are ouOfDate if(!m_pColumns->getCount()) m_bColumnsOutOfDate = sal_True; diff --git a/dbaccess/source/core/api/query.hxx b/dbaccess/source/core/api/query.hxx index 8084f6d940c1..78af541feb6d 100644 --- a/dbaccess/source/core/api/query.hxx +++ b/dbaccess/source/core/api/query.hxx @@ -2,9 +2,9 @@ * * $RCSfile: query.hxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: fs $ $Date: 2001-06-18 11:43:14 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -100,12 +100,16 @@ typedef ::cppu::ImplHelper2 < ::com::sun::star::sdbcx::XDataDescriptorFactory, class OQuery; class OColumn; typedef ::comphelper::OPropertyArrayUsageHelper< OQuery > OQuery_ArrayHelperBase; + + class OQuery_LINUX :public OQueryDescriptor ,public OQuery_Base ,public OConfigurationFlushable { + friend struct TRelease; protected: - ::std::map< ::rtl::OUString,OColumn*,::comphelper::UStringMixLess> m_aColumnMap; + typedef ::std::map< ::rtl::OUString,OColumn*,::comphelper::UStringMixLess> TNameColumnMap; + TNameColumnMap m_aColumnMap; // contains all columnnames to columns ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xCommandDefinition; ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > diff --git a/dbaccess/source/core/api/querydescriptor.cxx b/dbaccess/source/core/api/querydescriptor.cxx index da60bfb2f91f..48fde4fd88da 100644 --- a/dbaccess/source/core/api/querydescriptor.cxx +++ b/dbaccess/source/core/api/querydescriptor.cxx @@ -2,9 +2,9 @@ * * $RCSfile: querydescriptor.cxx,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: fs $ $Date: 2001-06-18 11:43:14 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -90,6 +90,9 @@ #ifndef _DBACORE_DEFINITIONCOLUMN_HXX_ #include "definitioncolumn.hxx" #endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif using namespace ::com::sun::star::uno; using namespace ::com::sun::star::awt; @@ -138,11 +141,12 @@ void OQueryDescriptor::registerProperties() registerProperty(PROPERTY_LAYOUTINFORMATION, PROPERTY_ID_LAYOUTINFORMATION, 0, &m_aLayoutInformation, ::getCppuType(&m_aLayoutInformation)); } - +DBG_NAME(OQueryDescriptor); //-------------------------------------------------------------------------- OQueryDescriptor::OQueryDescriptor() :ODataSettings(m_aBHelper) { + DBG_CTOR(OQueryDescriptor,NULL); registerProperties(); } @@ -150,6 +154,7 @@ OQueryDescriptor::OQueryDescriptor() OQueryDescriptor::OQueryDescriptor(const ::com::sun::star::uno::Reference< XPropertySet >& _rxCommandDefinition) :ODataSettings(m_aBHelper) { + DBG_CTOR(OQueryDescriptor,NULL); registerProperties(); OSL_ENSURE(_rxCommandDefinition.is(), "OQueryDescriptor::OQueryDescriptor : invalid source property set !"); @@ -174,6 +179,7 @@ OQueryDescriptor::OQueryDescriptor(const ::com::sun::star::uno::Reference< XProp OQueryDescriptor::OQueryDescriptor(const OQueryDescriptor& _rSource) :ODataSettings(_rSource, m_aBHelper) { + DBG_CTOR(OQueryDescriptor,NULL); registerProperties(); m_sCommand = _rSource.m_sCommand; @@ -195,7 +201,10 @@ OQueryDescriptor::OQueryDescriptor(const OQueryDescriptor& _rSource) //-------------------------------------------------------------------------- OQueryDescriptor::~OQueryDescriptor() { + osl_incrementInterlockedCount( &m_refCount ); // jsut to ensure that we won't be destroyed twice + dispose(); delete m_pColumns; + DBG_DTOR(OQueryDescriptor,NULL); } //-------------------------------------------------------------------------- @@ -388,10 +397,17 @@ void OQueryDescriptor::readColumnSettings(const OConfigurationNode& _rConfigLoca //========================================================================== //= ODescriptorColumn //========================================================================== +DBG_NAME(ODescriptorColumn); ODescriptorColumn::ODescriptorColumn(const ::rtl::OUString& _rName) { + DBG_CTOR(ODescriptorColumn,NULL); m_sName = _rName; } +// ----------------------------------------------------------------------------- +ODescriptorColumn::~ODescriptorColumn() +{ + DBG_DTOR(ODescriptorColumn,NULL); +} // com::sun::star::lang::XTypeProvider //-------------------------------------------------------------------------- diff --git a/dbaccess/source/core/api/querydescriptor.hxx b/dbaccess/source/core/api/querydescriptor.hxx index 9ea5cb625b98..f9c25fb7c61a 100644 --- a/dbaccess/source/core/api/querydescriptor.hxx +++ b/dbaccess/source/core/api/querydescriptor.hxx @@ -2,9 +2,9 @@ * * $RCSfile: querydescriptor.hxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: fs $ $Date: 2001-06-18 11:43:14 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -111,6 +111,8 @@ class ODescriptorColumn :public OColumn ,public OColumnSettings ,public ::comphelper::OPropertyArrayUsageHelper< ODescriptorColumn > { +protected: + virtual ~ODescriptorColumn(); public: ODescriptorColumn(const ::rtl::OUString& _rName); diff --git a/dbaccess/source/core/api/resultcolumn.cxx b/dbaccess/source/core/api/resultcolumn.cxx index ade21d852958..a2455216054a 100644 --- a/dbaccess/source/core/api/resultcolumn.cxx +++ b/dbaccess/source/core/api/resultcolumn.cxx @@ -2,9 +2,9 @@ * * $RCSfile: resultcolumn.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: oj $ $Date: 2000-10-25 07:30:24 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -99,6 +99,7 @@ using namespace ::comphelper; using namespace ::cppu; using namespace dbaccess; +DBG_NAME(OResultColumn); //-------------------------------------------------------------------------- OResultColumn::OResultColumn( const Reference < XResultSetMetaData >& _xMetaData, @@ -106,8 +107,13 @@ OResultColumn::OResultColumn( :m_xMetaData(_xMetaData) ,m_nPos(_nPos) { + DBG_CTOR(OResultColumn,NULL); +} +// ----------------------------------------------------------------------------- +OResultColumn::~OResultColumn() +{ + DBG_DTOR(OResultColumn,NULL); } - // com::sun::star::lang::XTypeProvider //-------------------------------------------------------------------------- Sequence< sal_Int8 > OResultColumn::getImplementationId() throw (RuntimeException) diff --git a/dbaccess/source/core/api/resultcolumn.hxx b/dbaccess/source/core/api/resultcolumn.hxx index 1a8d1991ae41..08edc0603fdc 100644 --- a/dbaccess/source/core/api/resultcolumn.hxx +++ b/dbaccess/source/core/api/resultcolumn.hxx @@ -2,9 +2,9 @@ * * $RCSfile: resultcolumn.hxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: oj $ $Date: 2000-11-03 14:32:31 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:04:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -80,6 +80,7 @@ namespace dbaccess ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XResultSetMetaData > m_xMetaData; sal_Int32 m_nPos; + virtual ~OResultColumn(); public: OResultColumn(const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XResultSetMetaData >& _xMetaData, sal_Int32 _nPos); diff --git a/dbaccess/source/core/dataaccess/commanddefinition.cxx b/dbaccess/source/core/dataaccess/commanddefinition.cxx index 817c4bf6d99d..fc3d3d14a8f7 100644 --- a/dbaccess/source/core/dataaccess/commanddefinition.cxx +++ b/dbaccess/source/core/dataaccess/commanddefinition.cxx @@ -2,9 +2,9 @@ * * $RCSfile: commanddefinition.cxx,v $ * - * $Revision: 1.9 $ + * $Revision: 1.10 $ * - * last change: $Author: fs $ $Date: 2001-06-18 11:48:33 $ + * last change: $Author: oj $ $Date: 2001-08-15 13:05:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -163,7 +163,6 @@ OCommandDefinition::OCommandDefinition(const Reference< XInterface >& _rxContain const OConfigurationTreeRoot& _rConfigRoot) :OPropertyContainer(m_aBHelper) ,OConfigurationFlushable(m_aMutex) - ,m_xContainer(_rxContainer) { DBG_CTOR(OCommandDefinition, NULL); @@ -172,7 +171,6 @@ OCommandDefinition::OCommandDefinition(const Reference< XInterface >& _rxContain m_sElementName = _rElementName; m_aConfigurationNode = _rConfigRoot; - DBG_ASSERT(m_xContainer.is(), "OCommandDefinition::OCommandDefinition : invalid container !"); DBG_ASSERT(m_sElementName.getLength() != 0, "OCommandDefinition::OCommandDefinition : invalid name !"); DBG_ASSERT(m_aConfigurationNode.isValid(), "OCommandDefinition::OCommandDefinition : invalid configuration node !"); @@ -280,13 +278,10 @@ void OCommandDefinition::inserted(const Reference< XInterface >& _rxContainer, { MutexGuard aGuard(m_aMutex); - DBG_ASSERT(!m_xContainer.is(), "OCommandDefinition::inserted : invalid call : I'm already part of a container !"); - DBG_ASSERT(_rxContainer.is(), "OCommandDefinition::inserted : invalid container !"); DBG_ASSERT(_rElementName.getLength() != 0, "OCommandDefinition::inserted : invalid name !"); DBG_ASSERT(_rConfigRoot.isValid(), "OCommandDefinition::inserted : invalid configuration node !"); - m_xContainer = _rxContainer; m_sElementName = _rElementName; m_aConfigurationNode = _rConfigRoot; @@ -299,8 +294,6 @@ void OCommandDefinition::removed() { MutexGuard aGuard(m_aMutex); - DBG_ASSERT(m_xContainer.is(), "OCommandDefinition::removed: invalid call : I'm not part of a container !"); - m_xContainer = NULL; m_sElementName = ::rtl::OUString(); m_aConfigurationNode.clear(); } |