Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.12
 Overview   Namespace   Class   Index   Help 
PUBLIC MEMBERS:  CLASSESSTRUCTSUNIONSENUMSTYPEDEFSMETHODSSTATIC METHODSDATASTATIC DATA
PRIVATE MEMBERS:  CLASSESSTRUCTSUNIONSENUMSTYPEDEFSMETHODSSTATIC METHODSDATASTATIC DATA

:: 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( );
Insert an element in the container. The position is not specified.
sal_Int32
removeInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) throw( );
Remove an element from the container. It uses the equal definition of uno objects to remove the interfaces.
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

void * pData; bIsList == TRUE -> pData of type Sequence< XInterfaceSequence >, otherwise pData == of type (XEventListener *)
::osl::Mutex & rMutex;
sal_Bool bInUse; TRUE -> used by an iterator.
sal_Bool bIsList; TRUE -> pData 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.