LibreOffice: cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 > Class Template Reference

LibreOffice LibreOffice 5.4 SDK C/C++ API Reference

Classes | Public Member Functions | List of all members
cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 > Class Template Reference

Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which supports weak mechanism to be held weakly (supporting css::uno::XWeak through cppu::OWeakAggObject). More...

`#include <implbase4.hxx>`

Inheritance diagram for cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >:

## Public Member Functions
virtual css::uno::Any | queryInterface (css::uno::Type const &rType) SAL_OVERRIDE
| If a delegator is set, then the delegator is queried for the demanded interface. More...
virtual css::uno::Any | queryAggregation (css::uno::Type const &rType) SAL_OVERRIDE
| Called by the delegator or queryInterface. More...
virtual void | acquire () SAL_OVERRIDE throw ()
| If a delegator is set, then the delegators gets acquired. More...
virtual void | release () SAL_OVERRIDE throw ()
| If a delegator is set, then the delegators gets released. More...
virtual css::uno::Sequence< css::uno::Type > | getTypes () SAL_OVERRIDE
virtual css::uno::Sequence< sal_Int8 > | getImplementationId () SAL_OVERRIDE
Public Member Functions inherited from cppu::OWeakAggObject
| OWeakAggObject ()
| Constructor. More...
virtual void | setDelegator (const css::uno::Reference< css::uno::XInterface > &Delegator) SAL_OVERRIDE
| Set the delegator. More...
Public Member Functions inherited from cppu::OWeakObject
| OWeakObject ()
| Default Constructor. More...
| OWeakObject (const OWeakObject &rObj)
| Dummy copy constructor. More...
OWeakObject & | operator= (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...

## Additional Inherited Members
Protected Member Functions inherited from cppu::OWeakAggObject
virtual | ~OWeakAggObject () SAL_OVERRIDE
| Virtual dtor. More...
Protected Member Functions inherited from cppu::OWeakObject
virtual | ~OWeakObject ()
| Virtual dtor. More...
void | disposeWeakConnectionPoint ()
| disposes and resets m_pWeakConnectionPoint More...
Protected Attributes inherited from cppu::OWeakAggObject
css::uno::WeakReferenceHelper | xDelegator
| weak reference to delegator. More...
Protected Attributes inherited from cppu::OWeakObject
oslInterlockedCount | m_refCount
| reference count. More...

## Detailed Description

### template<class Ifc1, class Ifc2, class Ifc3, class Ifc4>
class cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >

Implementation helper implementing interfaces css::lang::XTypeProvider and css::uno::XInterface which supports weak mechanism to be held weakly (supporting css::uno::XWeak through cppu::OWeakAggObject).

In addition, it supports also aggregation meaning object of this class can be aggregated (css::uno::XAggregation through cppu::OWeakAggObject). If a delegator is set (this object is aggregated), then incoming queryInterface() calls are delegated to the delegator object. If the delegator does not support the demanded interface, it calls queryAggregation() on its aggregated objects.

Derive:

Inherit from this class giving your interface(s) to be implemented as template argument(s). Your sub class defines method implementations for these interface(s).

## Member Function Documentation

## ◆ acquire()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual void cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::acquire | ( |  | ) |
throw | ( |
| ) |  |
| inlinevirtual

If a delegator is set, then the delegators gets acquired.

Otherwise call is delegated to base class cppu::OWeakObject.

Reimplemented from cppu::OWeakAggObject.

## ◆ getImplementationId()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual css::uno::Sequence< sal_Int8 > cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::getImplementationId | ( |  | ) |
| inlinevirtual

## ◆ getTypes()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual css::uno::Sequence< css::uno::Type > cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::getTypes | ( |  | ) |
| inlinevirtual

## ◆ queryAggregation()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual css::uno::Any cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::queryAggregation | ( | css::uno::Type const & | rType | ) |
| inlinevirtual

Called by the delegator or queryInterface.

Re-implement this method instead of queryInterface.

See also
  queryInterface

Reimplemented from cppu::OWeakAggObject.

## ◆ queryInterface()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual css::uno::Any cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::queryInterface | ( | css::uno::Type const & | rType | ) |
| inlinevirtual

If a delegator is set, then the delegator is queried for the demanded interface.

If the delegator cannot provide the demanded interface, it calls queryAggregation() on its aggregated objects.

Parameters

  rType | demanded interface type

Returns
  demanded type or empty any

See also
  queryAggregation.

Reimplemented from cppu::OWeakAggObject.

## ◆ release()

template<class Ifc1 , class Ifc2 , class Ifc3 , class Ifc4 >

virtual void cppu::WeakAggImplHelper4< Ifc1, Ifc2, Ifc3, Ifc4 >::release | ( |  | ) |
throw | ( |
| ) |  |
| inlinevirtual

If a delegator is set, then the delegators gets released.

Otherwise call is delegated to base class cppu::OWeakObject.

Reimplemented from cppu::OWeakAggObject.

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

- cppuhelper/implbase4.hxx