<html> <head> <title>Service UniversalContentBroker</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="../../../../idl.css"> </head> <body> <div id="adc-idlref"> <a name="_top_"> </a><table class="navimain" border="0" cellpadding="3"> <tr> <td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td> <td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td> <td class="navimain"><a href="UniversalContentBroker-xref.html" class="navimain">Use</a></td> <td class="navimain"><a href="#devmanual" class="navimain">Devguide</a></td> <td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td> </tr> </table> <table class="navisub" border="0" cellpadding="0"> <tr> <td class="navisub">Services' Summary</td> <td class="navisub"><a href="#InterfacesSummary" class="navisub">Interfaces' Summary</a></td> <td class="navisub">Properties' Summary</td> <td class="navisub">Services' Details</td> <td class="navisub"><a href="#InterfacesDetails" class="navisub">Interfaces' Details</a></td> <td class="navisub">Properties' Details</td> </tr> </table> <hr> <table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;"> <tr> <td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">ucb</a> :: </p> </td> </tr> <tr> <td class="title">service UniversalContentBroker</td> </tr> <tr> <td><dl> <dt><b>Description</b></dt> <dd>is a one-instance service that provides access to a set of <a href="Content.html">Content</a>s via <a href="ContentProvider.html">ContentProvider</a>s. </dd> <dd><p>If the instance is created with two arguments of type string, these two strings are used to configure the newly instantiated broker; see the description of the required ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XInitialization.html">XInitialization</a> interface for details. <p>If the instance is created without arguments, the newly instantiated broker is not configured. </dd> </dl> <a name="devmanual"> </a><dl> <dt><b>Developers Guide</b></dt> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/UCB/Universal_Content_Broker#Capabilities">UCB - Universal Content Broker - Capabilities</a></dd> <dd><a href="http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/UCB/Instantiating_the_UCB">UCB - Instantiating the UCB</a></dd> </dl> </td> </tr> </table> <hr> <a name="InterfacesSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Exported Interfaces - Summary</td> </tr> <tr> <td class="imsum_left">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></td> <td class="imsum_right"><p>must be implemented to make it possible to resolve cyclic object references. (<a href="#XComponent">details</a>)</p> </td> </tr> <tr> <td class="imsum_left"><a href="XContentProvider.html">XContentProvider</a></td> <td class="imsum_right"><p>provides access to all kind of contents provided by the registered content providers. (<a href="#XContentProvider">details</a>)</p> </td> </tr> <tr> <td class="imsum_left"><a href="XContentProviderManager.html">XContentProviderManager</a></td> <td class="imsum_right"><p>provides access to a set of content providers registered with the UCB. (<a href="#XContentProviderManager">details</a>)</p> </td> </tr> <tr> <td class="imsum_left"><a href="XContentIdentifierFactory.html">XContentIdentifierFactory</a></td> <td class="imsum_right"><p>creates <a href="XContentIdentifier.html">XContentIdentifier</a> implementation objects for all kind of contents provided by the UCB. (<a href="#XContentIdentifierFactory">details</a>)</p> </td> </tr> <tr> <td class="imsum_left">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XInitialization.html">XInitialization</a></td> <td class="imsum_right"><p>supports the configuration of a newly created broker. (<a href="#XInitialization">details</a>)</p> </td> </tr> <tr> <td class="imsum_left"><a href="XCommandProcessor.html">XCommandProcessor</a></td> <td class="imsum_right"><p>enables the caller to execute commands at the broker. (<a href="#XCommandProcessor">details</a>)</p> </td> </tr> <tr> <td class="imsum_left"><a href="XCommandProcessor2.html">XCommandProcessor2</a></td> <td class="imsum_right"><p>is an enhanced version of <a href="XCommandProcessor.html">XCommandProcessor</a> that has an additional method for releasing command identifiers obtained via <a href="XCommandProcessor.html">XCommandProcessor</a>::<a href="XCommandProcessor.html#createCommandIdentifier">createCommandIdentifier</a> to avoid resource leaks. For a detailed description of the problem refer to <a href="XCommandProcessor2.html">XCommandProcessor2</a>::<a href="XCommandProcessor2.html#releaseCommandIdentifier">releaseCommandIdentifier</a>. (<a href="#XCommandProcessor2">details</a>)</p> </td> </tr> </table> <a name="InterfacesDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle"> <tr> <td class="subtitle" colspan="2">Exported Interfaces - Details</td> </tr> <tr/> <tr> <td class="imdetail"><a name="XComponent" class="membertitle">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>must be implemented to make it possible to resolve cyclic object references. </dd> <dd><p>Those references i.e. may occur if content provider implementations hold references to the Broker. The Broker itself always holds its providers. If the Broker shall be released, ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a>::<a href="../lang/XComponent.html#dispose">dispose</a> must be called at the Broker. The implementation of this method must call ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XEventListener.html">XEventListener</a>::<a href="../lang/XEventListener.html#disposing">disposing</a> on the registered listeners (the providers holding the Broker must be those listeners) and release the appropriate object references. At the other hand, the implementation of XEventListener::disposing must release its appropriate references. <p>This interface is required. </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XContentProvider" class="membertitle"><a href="XContentProvider.html">XContentProvider</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>provides access to all kind of contents provided by the registered content providers. </dd> <dd><p>This interface is required. </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XContentProviderManager" class="membertitle"><a href="XContentProviderManager.html">XContentProviderManager</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>provides access to a set of content providers registered with the UCB. </dd> <dd><p>This interface is required. </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XContentIdentifierFactory" class="membertitle"><a href="XContentIdentifierFactory.html">XContentIdentifierFactory</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>creates <a href="XContentIdentifier.html">XContentIdentifier</a> implementation objects for all kind of contents provided by the UCB. </dd> <dd><p>This interface is required. </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XInitialization" class="membertitle">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XInitialization.html">XInitialization</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>supports the configuration of a newly created broker. </dd> <dd><p>The ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XInitialization.html">XInitialization</a>::<a href="../lang/XInitialization.html#initialize">initialize</a> method should be called with two arguments of type string. These strings are used as a pair of keys to retrieve a set of content provider descriptions from the configuration management (stored at <code>org.openoffice.ucb.Configuration.ContentProviders.<var>key<sub>1</sub></var>.SecondaryKeys.<var>key<sub>2</sub></var>.ProviderData</code> within the configuration management's hierarchy). The retrieved descriptions are in turn used to register the corresponding content provider services at the broker. <p>Typical values for the pair of strings would be <code>"Local"</code>/<code>"Office"</code>, to configure a broker that contains all the relevant content providers. <p>This interface is required. </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XCommandProcessor" class="membertitle"><a href="XCommandProcessor.html">XCommandProcessor</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Description</b></dt> <dd>enables the caller to execute commands at the broker. </dd> <dd><p>This interface is required. <p><pre> ======================================================================= Commands: ======================================================================= [return type] [command name] [parameter type and name] ----------------------------------------------------------------------- Required commands: ----------------------------------------------------------------------- // This command obtains an interface which allows to query // information on commands supported by the Content Broker. <a href="XCommandInfo.html">XCommandInfo</a> getCommandInfo void // This command transfers Contents from one location to another. // Additionally, it can be used to create a link to a Content. // The implementation must be able to handle Contents provided // by any Content Provider. This is different from the command // "transfer" that can be supported by a Content. That command // typically can only handle <a href="Content.html">Content</a>s provided by one // <a href="ContentProvider.html">ContentProvider</a>. void globalTransfer <a href="GlobalTransferCommandArgument.html">GlobalTransferCommandArgument</a> </pre> </dd> </dl> </td> </tr> </table> </td> </tr> <tr/> <tr> <td class="imdetail"><a name="XCommandProcessor2" class="membertitle"><a href="XCommandProcessor2.html">XCommandProcessor2</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center"> <tr> <td><dl> <dt><b>Usage Restrictions</b></dt> <dd><i>optional</i></dd> <dt><b>Description</b></dt> <dd>is an enhanced version of <a href="XCommandProcessor.html">XCommandProcessor</a> that has an additional method for releasing command identifiers obtained via <a href="XCommandProcessor.html">XCommandProcessor</a>::<a href="XCommandProcessor.html#createCommandIdentifier">createCommandIdentifier</a> to avoid resource leaks. For a detailed description of the problem refer to <a href="XCommandProcessor2.html">XCommandProcessor2</a>::<a href="XCommandProcessor2.html#releaseCommandIdentifier">releaseCommandIdentifier</a>. </dd> <dd><p>Where many existing <a href="UniversalContentBroker.html">UniversalContentBroker</a> implementations do not (yet), every new implementation should support this interface. </dd> </dl> </td> </tr> </table> </td> </tr> </table> <br> <a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright © 2000, 2012 LibreOffice contributors and/or their affiliates. All rights reserved.</p><p class="copyright" align="center">LibreOffice was created by The Document Foundation, based on OpenOffice.org, which is Copyright 2000, 2010 Oracle and/or its affiliates.</p><p class="copyright" align="center">The Document Foundation acknowledges all community members, please find more info <a href="http://www.libreoffice.org/about-us/credits/" target="_blank">at our website</a>.<p> </p><p class="copyright" align="center"><a href="http://www.libreoffice.org/privacy" target="_blank">Privacy Policy</a> | <a href="http://www.libreoffice.org/imprint" target="_blank">Impressum (Legal Info)</a> | Copyright information: The source code of LibreOffice is licensed under the GNU Lesser General Public License (<a href="http://www.libreoffice.org/download/license/" target="_blank">LGPLv3</a>). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our <a href="http://wiki.documentfoundation.org/TradeMark_Policy" target="_blank">trademark policy</a>.</p> </div> <!-- id="adc-idlref" --> </body> </html>