<html> <head> <title>class OWeakAggObject</title> <link rel="stylesheet" type="text/css" href="../../cpp.css"> </head> <body> <div id="adc-cppref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="1" cellspacing="0"> <tr align="center" valign="top"> <td class="navimain"> <a href="../../index.html">Overview</a> </td> <td class="navimain"> <a href="index.html">Namespace</a> </td> <td class="navimainself"> Class </td> <td class="navimain"> <a href="../../index-files/index-1.html">Index</a> </td> <td class="navimain"> <a href="../../help.html">Help</a> </td> </tr> </table> <table class="navisub" cellpadding="0" cellspacing="3"> <tr> <td width="20%"><font size="-2">PUBLIC MEMBERS:</font></td> <td> <font size="-2">CLASSES</font> | <font size="-2">STRUCTS</font> | <font size="-2">UNIONS</font> | <font size="-2">ENUMS</font> | <font size="-2">TYPEDEFS</font> | <a href="#publ_ops"><font size="-2"><b>METHODS</b></font></a> | <font size="-2">STATIC METHODS</font> | <font size="-2">DATA</font> | <font size="-2">STATIC DATA</font></td> </tr> <tr> <td width="20%"><font size="-2">PROTECTED MEMBERS:</font></td> <td> <font size="-2">CLASSES</font> | <font size="-2">STRUCTS</font> | <font size="-2">UNIONS</font> | <font size="-2">ENUMS</font> | <font size="-2">TYPEDEFS</font> | <a href="#prot_ops"><font size="-2"><b>METHODS</b></font></a> | <font size="-2">STATIC METHODS</font> | <a href="#prot_vars"><font size="-2"><b>DATA</b></font></a> | <font size="-2">STATIC DATA</font></td> </tr> </table> <hr> <a href="../../names/index.html" alt="Global Namespace in C++"><font size="+1"><b>::</b></font></a> <a href="index.html" alt="namespace"><font size="+1"><b>cppu</b></font></a><font size="+1"> :: </font><div class="title"><h2>class OWeakAggObject</h2> </div><hr> <dl> <dt>Base Classes</dt> <dd><pre style="font-family:monospace;"> <span class="btpubl">com::sun::star::uno::<a href="../../../../common/ref/com/sun/star/uno/XWeak.html">XWeak</a> (public)</span> | +--<span class="btpubl">cppu::<a href="c-OWeakObject.html">OWeakObject</a> (public)</span> | | <span class="btpubl">com::sun::star::uno::<a href="../../../../common/ref/com/sun/star/uno/XAggregation.html">XAggregation</a> (public)</span> | | +----+--<span class="btself">OWeakAggObject</span> </pre></dd> </dl> <dl> <dt>Known Derived Classes</dt> <dd><a href="c-WeakAggComponentImplHelperBase.html">WeakAggComponentImplHelperBase</a><br> <a href="c-WeakAggImplHelper1.html">WeakAggImplHelper1</a><br> <a href="c-WeakAggImplHelper7.html">WeakAggImplHelper7</a><br> <a href="c-WeakAggImplHelper3.html">WeakAggImplHelper3</a><br> <a href="c-WeakAggImplHelper9.html">WeakAggImplHelper9</a><br> <a href="c-WeakAggImplHelper4.html">WeakAggImplHelper4</a><br> <a href="c-WeakAggImplHelper6.html">WeakAggImplHelper6</a><br> <a href="c-WeakAggImplHelper5.html">WeakAggImplHelper5</a><br> <a href="c-WeakAggImplHelper2.html">WeakAggImplHelper2</a><br> <a href="c-WeakAggImplHelper8.html">WeakAggImplHelper8</a><br> <a href="c-WeakAggImplHelper10.html">WeakAggImplHelper10</a><br> <a href="c-OComponentHelper.html">OComponentHelper</a><br> <a href="c-WeakAggImplHelper12.html">WeakAggImplHelper12</a><br> <a href="c-WeakAggImplHelper11.html">WeakAggImplHelper11</a><br> </dd> </dl> <br> <table class="flag-table" border="1" cellspacing="0"> <tr> <td width="25%" class="flagname">virtual</td> <td width="25%" class="flagname">abstract</td> <td width="25%" class="flagname">interface</td> <td width="25%" class="flagname">template</td> </tr> <tr> <td class="flagyes">YES</td> <td class="flagno">NO</td> <td class="flagno">NO</td> <td class="flagno">NO</td> </tr> </table> <dl> <dt>Description</dt> <dd><pre>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. </pre></dd> <dt>How to Derive from this Class</dt> <dd><pre> Inherit from this class and delegate acquire()/ release() calls. Re-implement XAggregation::queryInterface(). </pre></dd> </dl> <dl> <dt>File</dt> <dd>weakagg.hxx</dd> </dl> <hr> <dl> <dt class="subtitle"><a name="publ_"><h3>Public Members</h3> </a></dt> <dd><a name="publ_ops"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Methods</h4> </td> </tr> <tr> <td> <br> <a href="OWeakAggObject/o.html#OWeakAggObject-3502">OWeakAggObject</a>( ) throw( );</td> <td width="50%"> Constructor. No delegator set. </td> </tr> <tr> <td>virtual void <br> <a href="OWeakAggObject/o.html#acquire-3503">acquire</a>( ) throw( );</td> <td width="50%"> If a delegator is set, then the delegators gets acquired. Otherwise call is delegated to base class ::cppu::OWeakObject. </td> </tr> <tr> <td>virtual void <br> <a href="OWeakAggObject/o.html#release-3504">release</a>( ) throw( );</td> <td width="50%"> If a delegator is set, then the delegators gets released. Otherwise call is delegated to base class ::cppu::OWeakObject. </td> </tr> <tr> <td>virtual ::com::sun::star::uno::Any <br> <a href="OWeakAggObject/o.html#queryInterface-3505">queryInterface</a>( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );</td> <td width="50%"> </td> </tr> <tr> <td>virtual void <br> <a href="OWeakAggObject/o.html#setDelegator-3506">setDelegator</a>( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Delegator ) throw( ::com::sun::star::uno::RuntimeException );</td> <td width="50%"> Set the delegator. The delegator member reference is a weak reference. </td> </tr> <tr> <td>virtual ::com::sun::star::uno::Any <br> <a href="OWeakAggObject/o.html#queryAggregation-3507">queryAggregation</a>( const ::com::sun::star::uno::Type & rType ) throw( ::com::sun::star::uno::RuntimeException );</td> <td width="50%"> Called by the delegator or queryInterface. Re-implement this method instead of queryInterface. </td> </tr> </table> <hr> </dd> </dl> <dl> <dt class="subtitle"><a name="prot_"><h3>Protected Members</h3> </a></dt> <dd><a name="prot_ops"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Methods</h4> </td> </tr> <tr> <td>virtual <br> <a href="OWeakAggObject/o.html#~OWeakAggObject-3508">~OWeakAggObject</a>( ) throw( ::com::sun::star::uno::RuntimeException );</td> <td width="50%"> Virtual dtor. Called when reference count is 0. </td> </tr> </table> <hr> <a name="prot_vars"> </a><table class="childlist" border="1" cellpadding="5" cellspacing="0" width="100%"> <tr class="subtitle"> <td colspan="2"><h4>Data</h4> </td> </tr> <tr bgcolor="white"> <td>::com::sun::star::uno::<a href="../com/sun/star/uno/c-WeakReferenceHelper.html">WeakReferenceHelper</a> <a href="OWeakAggObject/d.html#xDelegator"><strong>xDelegator;</strong></a></td> <td>weak reference to delegator. </td> </tr> </table> <hr> </dd> </dl> <a href="#_top_" class="objchapter">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p> </div> <!-- id="adc-cppref" --> </body> </html>