(incubating) | The Free and Open Productivity Suite
Announcing Apache OpenOffice 3.4
 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 Feather

Copyright & License | Privacy | Contact Us

Apache and the Apache feather logos are trademarks of The Apache Software Foundation. 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.

Apache OpenOffice is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.