summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2014-07-18 16:21:04 +0200
committerNoel Grandin <noel@peralex.com>2014-07-21 08:01:03 +0200
commit43a37822dc82abd16e0d99b5bbe21ac469c04ddd (patch)
treefda2b8f92ad0a7df4646e3ab3d46ed04af3a23d0 /include
parentd694339bc87b1e8966bc536b042723a96b93e408 (diff)
convert ORefVector to use salhelp::SimpleReferenceObject
instead of hand-rolled code Change-Id: I56e991c70334cb201a460ea8679be70808451a86
Diffstat (limited to 'include')
-rw-r--r--include/connectivity/CommonTools.hxx32
1 files changed, 6 insertions, 26 deletions
diff --git a/include/connectivity/CommonTools.hxx b/include/connectivity/CommonTools.hxx
index d09990531aa9..1ef5908bc23e 100644
--- a/include/connectivity/CommonTools.hxx
+++ b/include/connectivity/CommonTools.hxx
@@ -37,6 +37,7 @@
#include <com/sun/star/uno/XComponentContext.hpp>
#include <connectivity/dbtoolsdllapi.hxx>
#include <cppuhelper/supportsservice.hxx>
+#include <salhelper/simplereferenceobject.hxx>
namespace com { namespace sun { namespace star { namespace util {
struct Date;
@@ -63,21 +64,19 @@ namespace connectivity
typedef std::map<OUString,OSQLTable,comphelper::UStringMixLess> OSQLTables;
// class ORefVector allows reference counting on a std::vector
- template< class VectorVal > class ORefVector
+ template< class VectorVal > class ORefVector : public salhelper::SimpleReferenceObject
{
std::vector< VectorVal > m_vector;
- oslInterlockedCount m_refCount;
protected:
virtual ~ORefVector(){}
public:
typedef std::vector< VectorVal > Vector;
- ORefVector() : m_refCount(0) {}
- ORefVector(size_t _st) : m_vector(_st) , m_refCount(0) {}
- ORefVector(const ORefVector& _rRH) : m_vector(_rRH.m_vector),m_refCount(0)
- {
- }
+ ORefVector() {}
+ ORefVector(size_t _st) : m_vector(_st) {}
+ ORefVector(const ORefVector& _rRH) : m_vector(_rRH.m_vector) {}
+
ORefVector& operator=(const ORefVector& _rRH)
{
if ( &_rRH != this )
@@ -90,25 +89,6 @@ namespace connectivity
std::vector< VectorVal > & get() { return m_vector; }
std::vector< VectorVal > const & get() const { return m_vector; }
- inline static void * SAL_CALL operator new( size_t nSize )
- { return ::rtl_allocateMemory( nSize ); }
- inline static void SAL_CALL operator delete( void * pMem )
- { ::rtl_freeMemory( pMem ); }
- inline static void * SAL_CALL operator new( size_t, void * pMem )
- { return pMem; }
- inline static void SAL_CALL operator delete( void *, void * )
- {}
-
- void acquire()
- {
- osl_atomic_increment( &m_refCount );
- }
- void release()
- {
- if (! osl_atomic_decrement( &m_refCount ))
- delete this;
- }
-
};
// class ORowVector incudes refcounting and initialze himself