Language:

The Free and Open Productivity Suite
Apache OpenOffice 4.1.4 released

Developer's Guide

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 and the Apache feather logo are trademarks of The Apache Software Foundation. OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.