LibreOffice LibreOffice 25.2 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:

## 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 & | operator= (const WeakReferenceHelper &rWeakRef)
| Releases this reference and takes over rWeakRef. More...
WeakReferenceHelper & | operator= (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

## ◆ WeakReferenceHelper() [1/3]

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

Default ctor.

Creates an empty weak reference.

## ◆ WeakReferenceHelper() [2/3]

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

Copy ctor.

Initialize this reference with the same interface as in rWeakRef.

Parameters

  rWeakRef | another weak ref

## ◆ WeakReferenceHelper() [3/3]

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

  xInt | another hard interface reference

## ◆ ~WeakReferenceHelper()

com::sun::star::uno::WeakReferenceHelper::~WeakReferenceHelper | ( |  | ) |

Releases this reference.

## Member Function Documentation

## ◆ clear()

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

Releases this reference.

Since
  UDK 3.2.12

## ◆ get()

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

## ◆ operator Reference< XInterface >()

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

## ◆ operator=() [1/2]

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

  xInt | another hard reference

## ◆ operator=() [2/2]

WeakReferenceHelper & com::sun::star::uno::WeakReferenceHelper::operator= | ( | const WeakReferenceHelper & | rWeakRef | ) |

Releases this reference and takes over rWeakRef.

Parameters

  rWeakRef | another weak ref

## ◆ operator==()

bool com::sun::star::uno::WeakReferenceHelper::operator== | ( | const WeakReferenceHelper & | rObj | ) | const
| inline

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

Parameters

  rObj | another weak ref

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

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

- cppuhelper/weakref.hxx