Overview | Namespace | Class | Index | Help

PUBLIC MEMBERS: | CLASSES | STRUCTS | UNIONS | ENUMS | TYPEDEFS | METHODS | STATIC METHODS | DATA | STATIC DATA
PRIVATE MEMBERS: | CLASSES | STRUCTS | UNIONS | ENUMS | TYPEDEFS | METHODS | STATIC METHODS | DATA | STATIC 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( ); | 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
  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

Copyright © 2003 Sun Microsystems, Inc.