LibreOffice Module cppuhelper (master) 1
|
The WeakReferenceHelper holds a weak reference to an object. More...
#include <weakref.hxx>
Public Member Functions | |
WeakReferenceHelper () | |
Default ctor. More... | |
WeakReferenceHelper (const WeakReferenceHelper &rWeakRef) | |
Copy ctor. More... | |
WeakReferenceHelper (const css::uno::Reference< css::uno::XInterface > &xInt) | |
Initialize this reference with the hard interface reference xInt. More... | |
~WeakReferenceHelper () | |
Releases this reference. More... | |
WeakReferenceHelper &SAL_CALL | operator= (const WeakReferenceHelper &rWeakRef) |
Releases this reference and takes over rWeakRef. More... | |
WeakReferenceHelper &SAL_CALL | operator= (const css::uno::Reference< css::uno::XInterface > &xInt) |
Releases this reference and takes over hard reference xInt. More... | |
bool SAL_CALL | operator== (const WeakReferenceHelper &rObj) const |
Returns true if both weak refs reference to the same object. More... | |
css::uno::Reference< css::uno::XInterface > SAL_CALL | get () const |
Gets a hard reference to the object. More... | |
SAL_CALL | operator Reference< XInterface > () const |
Gets a hard reference to the object. More... | |
void SAL_CALL | clear () |
Releases this reference. More... | |
The WeakReferenceHelper holds a weak reference to an object.
That object must implement the css::uno::XWeak interface.
The WeakReferenceHelper itself is not thread safe, just as Reference itself isn't, but the implementation of the listeners etc. behind it is thread-safe, so multiple threads can have their own WeakReferences to the same XWeak object.
Definition at line 56 of file weakref.hxx.
|
inline |
com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper | ( | const WeakReferenceHelper & | rWeakRef | ) |
com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper | ( | const css::uno::Reference< css::uno::XInterface > & | xInt | ) |
Initialize this reference with the hard interface reference xInt.
If the implementation behind xInt does not support XWeak or xInt is null then this reference will be null.
xInt | another hard interface reference |
com::sun::star::uno::WeakReferenceHelper::~WeakReferenceHelper | ( | ) |
void com::sun::star::uno::WeakReferenceHelper::clear | ( | ) |
Releases this reference.
Definition at line 471 of file weak.cxx.
References m_pImpl.
Referenced by ~WeakReferenceHelper().
Reference< XInterface > com::sun::star::uno::WeakReferenceHelper::get | ( | ) | const |
Gets a hard reference to the object.
Definition at line 536 of file weak.cxx.
References cppu::gpWeakMutex, and m_pImpl.
Referenced by operator=(), operator==(), and WeakReferenceHelper().
|
inline |
Gets a hard reference to the object.
Definition at line 145 of file weakref.hxx.
References get().
WeakReferenceHelper &SAL_CALL com::sun::star::uno::WeakReferenceHelper::operator= | ( | const css::uno::Reference< css::uno::XInterface > & | xInt | ) |
Releases this reference and takes over hard reference xInt.
If the implementation behind xInt does not support XWeak or XInt is null, then this reference is null.
xInt | another hard reference |
WeakReferenceHelper & com::sun::star::uno::WeakReferenceHelper::operator= | ( | const WeakReferenceHelper & | rWeakRef | ) |
Releases this reference and takes over rWeakRef.
rWeakRef | another weak ref |
Definition at line 485 of file weak.cxx.
References get(), and operator=().
Referenced by operator=().
|
inline |
Returns true if both weak refs reference to the same object.
rObj | another weak ref |
Definition at line 132 of file weakref.hxx.