LibreOffice
LibreOffice 24.2 SDK C/C++ API Reference
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cppu::OWeakAggObject Class Reference

Base class to implement a UNO object supporting weak references, i.e. More...

#include <weakagg.hxx>

Inheritance diagram for cppu::OWeakAggObject:
cppu::OWeakObject cppu::OComponentHelper cppu::WeakAggImplHelper1< Ifc1 > cppu::WeakAggImplHelper10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10 > cppu::WeakAggImplHelper11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11 > cppu::WeakAggImplHelper12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12 > cppu::WeakAggImplHelper13< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, Ifc13 > cppu::WeakAggImplHelper2< Ifc1, Ifc2 > cppu::WeakAggImplHelper3< Ifc1, Ifc2, Ifc3 > cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 > cppu::WeakAggImplHelper5< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5 > cppu::WeakAggImplHelper6< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6 > cppu::WeakAggImplHelper7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7 > cppu::WeakAggImplHelper8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8 > cppu::WeakAggImplHelper9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9 >

Public Member Functions

 OWeakAggObject ()
 Constructor. More...
 
virtual void acquire () SAL_NOEXCEPT SAL_OVERRIDE
 If a delegator is set, then the delegators gets acquired. More...
 
virtual void release () SAL_NOEXCEPT SAL_OVERRIDE
 If a delegator is set, then the delegators gets released. More...
 
virtual css::uno::Any queryInterface (const css::uno::Type &rType) SAL_OVERRIDE
 If a delegator is set, then the delegator is queried for the demanded interface. More...
 
virtual void setDelegator (const css::uno::Reference< css::uno::XInterface > &Delegator) SAL_OVERRIDE
 Set the delegator. More...
 
virtual css::uno::Any queryAggregation (const css::uno::Type &rType) SAL_OVERRIDE
 Called by the delegator or queryInterface. More...
 
- Public Member Functions inherited from cppu::OWeakObject
 OWeakObject ()
 Default Constructor. More...
 
 OWeakObject (const OWeakObject &)
 Dummy copy constructor. More...
 
OWeakObjectoperator= (const OWeakObject &)
 Dummy assignment operator. More...
 
virtual css::uno::Reference< css::uno::XAdapter > queryAdapter () SAL_OVERRIDE
 XWeak::queryAdapter() implementation. More...
 
 operator css::uno::Reference< css::uno::XInterface > ()
 Cast operator to XInterface reference. More...
 

Protected Member Functions

virtual ~OWeakAggObject () SAL_OVERRIDE
 Virtual dtor. More...
 
- Protected Member Functions inherited from cppu::OWeakObject
virtual ~OWeakObject () COVERITY_NOEXCEPT_FALSE
 Virtual dtor. More...
 
void disposeWeakConnectionPoint ()
 disposes and resets m_pWeakConnectionPoint More...
 

Protected Attributes

css::uno::WeakReferenceHelper xDelegator
 weak reference to delegator. More...
 
- Protected Attributes inherited from cppu::OWeakObject
oslInterlockedCount m_refCount
 reference count. More...
 

Detailed Description

Base class to implement a UNO object supporting weak references, i.e.

the object can be held weakly (by a css::uno::WeakReference) and aggregation, i.e. the object can be aggregated by another (delegator). This implementation copes with reference counting. Upon last release(), the virtual dtor is called.

Derive:
Inherit from this class and delegate acquire()/ release() calls. Re-implement XAggregation::queryInterface().

Constructor & Destructor Documentation

◆ OWeakAggObject()

cppu::OWeakAggObject::OWeakAggObject ( )
inline

Constructor.

No delegator set.

◆ ~OWeakAggObject()

virtual cppu::OWeakAggObject::~OWeakAggObject ( )
protectedvirtual

Virtual dtor.

Called when reference count is 0.

Attention
Despite the fact that a RuntimeException is allowed to be thrown, you must not throw any exception upon destruction!

Member Function Documentation

◆ acquire()

virtual void cppu::OWeakAggObject::acquire ( )
virtual

◆ queryAggregation()

virtual css::uno::Any cppu::OWeakAggObject::queryAggregation ( const css::uno::Type &  rType)
virtual

◆ queryInterface()

virtual css::uno::Any cppu::OWeakAggObject::queryInterface ( const css::uno::Type &  rType)
virtual

◆ release()

virtual void cppu::OWeakAggObject::release ( )
virtual

◆ setDelegator()

virtual void cppu::OWeakAggObject::setDelegator ( const css::uno::Reference< css::uno::XInterface > &  Delegator)
virtual

Set the delegator.

The delegator member reference is a weak reference.

Parameters
Delegatorthe object that delegate its queryInterface to this aggregate.

Member Data Documentation

◆ xDelegator

css::uno::WeakReferenceHelper cppu::OWeakAggObject::xDelegator
protected

weak reference to delegator.


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