Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: cppu ::

class OInterfaceContainerHelper


Base Classes
None.
Known Derived Classes
None.

virtual abstract interface template
NO NO NO NO
Summary
A container of interfaces. To access the elements use an iterator. This implementation is thread save.
See Also
OInterfaceIteratorHelper
File
interfacecontainer.h

Public Members

Methods


OInterfaceContainerHelper( ::osl::Mutex & rMutex ) throw( );
Create an interface container.

~OInterfaceContainerHelper( ) throw( );
Release all interfaces. All iterators must be destroyed before the container is destructed.
sal_Int32
getLength( ) const throw( );
Return the number of Elements in the container. Only useful if you have acquired the mutex.
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >
getElements( ) const throw( );
Return all interfaces added to this container.
sal_Int32
addInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) throw( );
Inserts an element into the container. The position is not specified, thus it is not specified in which order events are fired.
sal_Int32
removeInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) throw( );
Removes an element from the container. It uses interface equality to remove the interface.
void
disposeAndClear( const ::com::sun::star::lang::EventObject & rEvt ) throw( );
Call disposing on all object in the container that support XEventListener. Than clear the container.
void
clear( ) throw( );
Clears the container without calling disposing().

Static Methods

static void *
operator new( size_t nSize ) throw( );
static void
operator delete( void * pMem ) throw( );
static void *
operator new( size_t , void * pMem ) throw( );
static void
operator delete( void * , void * ) throw( );

Private Members

Methods


OInterfaceContainerHelper( const OInterfaceContainerHelper & ) throw( );
OInterfaceContainerHelper &
operator=( const OInterfaceContainerHelper & ) throw( );
void
copyAndResetInUse( ) throw( );

Data

detail::element_alias aData; bIsList == TRUE -> aData.pAsSequence of type Sequence< XInterfaceSequence >, otherwise aData.pAsInterface == of type (XEventListener *)
::osl::Mutex & rMutex;
sal_Bool bInUse; TRUE -> used by an iterator.
sal_Bool bIsList; TRUE -> aData.pAsSequence is of type Sequence< XInterfaceSequence >.

Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.