:: cppu ::

class OWeakAggObject


Base Classes
com::sun::star::uno::XWeak (public)
  |  
  +--cppu::OWeakObject (public)
       |  
       |  com::sun::star::uno::XAggregation (public)
       |    |  
       +----+--OWeakAggObject
Known Derived Classes
WeakAggImplHelper7
WeakAggImplHelper2
WeakAggImplHelper9
WeakAggImplHelper5
WeakAggComponentImplHelperBase
WeakAggImplHelper10
OComponentHelper
WeakAggImplHelper8
WeakAggImplHelper1
WeakAggImplHelper12
WeakAggImplHelper6
WeakAggImplHelper11
WeakAggImplHelper3
WeakAggImplHelper4

virtual abstract interface template
YES NO NO NO
Description
Base class to implement an UNO object supporting weak references, i.e. the object can be held
weakly (by a ::com::sun::star::uno::WeakReference) and aggregation, i.e. the object can be
aggregated by another (delegator).
This implementation copes with reference counting.  Upon last release(), the virtual dtor
is called.

How to Derive from this Class
Inherit from this class and delegate acquire()/ release() calls.  Re-implement
XAggregation::queryInterface().
File
weakagg.hxx

Public Members

Methods


OWeakAggObject( ) throw( );
Constructor. No delegator set.
virtual void
acquire( ) throw( );
If a delegator is set, then the delegators gets acquired. Otherwise call is delegated to base class ::cppu::OWeakObject.
virtual void
release( ) throw( );
If a delegator is set, then the delegators gets released. Otherwise call is delegated to base class ::cppu::OWeakObject.
virtual ::com::sun::star::uno::Any
queryInterface( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );
virtual void
setDelegator( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Delegator ) throw( ::com::sun::star::uno::RuntimeException );
Set the delegator. The delegator member reference is a weak reference.
virtual ::com::sun::star::uno::Any
queryAggregation( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );
Called by the delegator or queryInterface. Re-implement this method instead of queryInterface.

Protected Members

Methods

virtual
~OWeakAggObject( ) throw( ::com::sun::star::uno::RuntimeException );
Virtual dtor. Called when reference count is 0.

Data

::com::sun::star::uno::WeakReferenceHelper xDelegator; weak reference to delegator.

Top of Page