LibreOffice
LibreOffice 6.0 SDK C/C++ API Reference
Public Member Functions | List of all members
com::sun::star::uno::WeakReferenceHelper Class Reference

The WeakReferenceHelper holds a weak reference to an object. More...

#include <weakref.hxx>

Inheritance diagram for com::sun::star::uno::WeakReferenceHelper:
com::sun::star::uno::WeakReference< interface_type >

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...
 
WeakReferenceHelperoperator= (const WeakReferenceHelper &rWeakRef)
 Releases this reference and takes over rWeakRef. More...
 
WeakReferenceHelperoperator= (const css::uno::Reference< css::uno::XInterface > &xInt)
 Releases this reference and takes over hard reference xInt. More...
 
bool operator== (const WeakReferenceHelper &rObj) const
 Returns true if both weak refs reference to the same object. More...
 
css::uno::Reference< css::uno::XInterface > get () const
 Gets a hard reference to the object. More...
 
 operator Reference< XInterface > () const
 Gets a hard reference to the object. More...
 
void clear ()
 Releases this reference. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper ( )
inline

Default ctor.

Creates an empty weak reference.

com::sun::star::uno::WeakReferenceHelper::WeakReferenceHelper ( const WeakReferenceHelper rWeakRef)

Copy ctor.

Initialize this reference with the same interface as in rWeakRef.

Parameters
rWeakRefanother weak ref
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.

Parameters
xIntanother hard interface reference
com::sun::star::uno::WeakReferenceHelper::~WeakReferenceHelper ( )

Releases this reference.

Member Function Documentation

void com::sun::star::uno::WeakReferenceHelper::clear ( )

Releases this reference.

Since
UDK 3.2.12
css::uno::Reference< css::uno::XInterface > com::sun::star::uno::WeakReferenceHelper::get ( ) const

Gets a hard reference to the object.

Returns
hard reference or null, if the weakly referenced interface has gone
com::sun::star::uno::WeakReferenceHelper::operator Reference< XInterface > ( ) const
inline

Gets a hard reference to the object.

Returns
hard reference or null, if the weakly referenced interface has gone
WeakReferenceHelper& com::sun::star::uno::WeakReferenceHelper::operator= ( const WeakReferenceHelper rWeakRef)

Releases this reference and takes over rWeakRef.

Parameters
rWeakRefanother weak ref
WeakReferenceHelper& 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.

Parameters
xIntanother hard reference
bool com::sun::star::uno::WeakReferenceHelper::operator== ( const WeakReferenceHelper rObj) const
inline

Returns true if both weak refs reference to the same object.

Parameters
rObjanother weak ref
Returns
true, if both weak refs reference to the same object.

The documentation for this class was generated from the following file: