LibreOffice: cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl > Class Template Reference

LibreOffice LibreOffice 7.3 SDK C/C++ API Reference

Public Types | Public Member Functions | Static Public Member Functions | List of all members
cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl > Class Template Reference

A helper class to store interface references of different types. More...

`#include <interfacecontainer.h>`

## Public Types
typedef key | keyType

## Public Member Functions
| OMultiTypeInterfaceContainerHelperVar (::osl::Mutex &rMutex)
| Create a container of interface containers. More...
| ~OMultiTypeInterfaceContainerHelperVar ()
| Deletes all containers. More...
css::uno::Sequence< key > | getContainedTypes () const
| Return all id's under which at least one interface is added. More...
OInterfaceContainerHelper * | getContainer (const key &) const
| Return the container created under this key. More...
sal_Int32 | addInterface (const key &rKey, const css::uno::Reference< css::uno::XInterface > &r)
| Inserts an element into the container with the specified key. More...
sal_Int32 | removeInterface (const key &rKey, const css::uno::Reference< css::uno::XInterface > &rxIFace)
| Removes an element from the container with the specified key. More...
void | disposeAndClear (const css::lang::EventObject &rEvt)
| Call disposing on all references in the container, that support XEventListener. More...
void | clear ()
| Remove all elements of all containers. More...

## Static Public Member Functions
static void * | operator new (size_t nSize)
static void | operator delete (void *pMem)
static void * | operator new (size_t, void *pMem)
static void | operator delete (void *, void *)

## Detailed Description

template<class key, class hashImpl = void, class equalImpl = std::equal_to<key>>
class cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >

A helper class to store interface references of different types.

See also
  OInterfaceIteratorHelper
  OInterfaceContainerHelper

## Member Typedef Documentation

## ◆ keyType

template<class key , class hashImpl = void, class equalImpl = std::equal_to<key>>

typedef key cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::keyType

## Constructor & Destructor Documentation

## ◆ OMultiTypeInterfaceContainerHelperVar()

template<class key , class hashImpl , class equalImpl >

cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::OMultiTypeInterfaceContainerHelperVar | ( | ::osl::Mutex & | rMutex | ) |
| inline

Create a container of interface containers.

Parameters

  rMutex | the mutex to protect multi thread access. The lifetime must be longer than the lifetime of this object.

## ◆ ~OMultiTypeInterfaceContainerHelperVar()

template<class key , class hashImpl , class equalImpl >

cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::~OMultiTypeInterfaceContainerHelperVar
| inline

Deletes all containers.

## Member Function Documentation

## ◆ addInterface()

template<class key , class hashImpl , class equalImpl >

sal_Int32 cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::addInterface | ( | const key & | rKey,
|  | const css::uno::Reference< css::uno::XInterface > & | r
| ) |  |
| inline

Inserts an element into the container with the specified key.

The position is not specified, thus it is not specified in which order events are fired.

Attention
  If you add the same interface more than once, then it will be added to the elements list more than once and thus if you want to remove that interface from the list, you have to call removeInterface() the same number of times. In the latter case, you will also get events fired more than once (if the interface is a listener interface).

Parameters

  rKey | the id of the container
  r | interface to be added; it is allowed, to insert null or the same interface more than once

Returns
  the new count of elements in the container

## ◆ clear()

template<class key , class hashImpl , class equalImpl >

void cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::clear
| inline

Remove all elements of all containers.

Does not delete the container.

## ◆ disposeAndClear()

template<class key , class hashImpl , class equalImpl >

void cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::disposeAndClear | ( | const css::lang::EventObject & | rEvt | ) |
| inline

Call disposing on all references in the container, that support XEventListener.

Then clears the container.

Parameters

  rEvt | the event object which is passed during disposing() call

## ◆ getContainedTypes()

template<class key , class hashImpl , class equalImpl >

css::uno::Sequence< key > cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::getContainedTypes
| inline

Return all id's under which at least one interface is added.

## ◆ getContainer()

template<class key , class hashImpl , class equalImpl >

OInterfaceContainerHelper * cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::getContainer | ( | const key & | rKey | ) | const
| inline

Return the container created under this key.

The InterfaceContainerHelper exists until the whole MultiTypeContainer is destroyed.

Returns
  the container created under this key. If the container was not created, null was returned.

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

template<class key , class hashImpl = void, class equalImpl = std::equal_to<key>>

static void cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::operator delete | ( | void * | ,
|  | void * |
| ) |  |
| inlinestatic

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

template<class key , class hashImpl = void, class equalImpl = std::equal_to<key>>

static void cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::operator delete | ( | void * | pMem | ) |
| inlinestatic

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

template<class key , class hashImpl = void, class equalImpl = std::equal_to<key>>

static void * cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::operator new | ( | size_t | nSize | ) |
| inlinestatic

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

template<class key , class hashImpl = void, class equalImpl = std::equal_to<key>>

static void * cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::operator new | ( | size_t | ,
|  | void * | pMem
| ) |  |
| inlinestatic

## ◆ removeInterface()

template<class key , class hashImpl , class equalImpl >

sal_Int32 cppu::OMultiTypeInterfaceContainerHelperVar< key, hashImpl, equalImpl >::removeInterface | ( | const key & | rKey,
|  | const css::uno::Reference< css::uno::XInterface > & | rxIFace
| ) |  |
| inline

Removes an element from the container with the specified key.

It uses interface equality to remove the interface.

Parameters

  rKey | the id of the container
  rxIFace | interface to be removed

Returns
  the new count of elements in the container

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

- cppuhelper/interfacecontainer.h
- cppuhelper/interfacecontainer.hxx