115 lines
5.6 KiB
Text
115 lines
5.6 KiB
Text
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2000, 2010 Oracle and/or its affiliates.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
#ifndef __com_sun_star_ucb_HierarchyDataSource_idl__
|
|
#define __com_sun_star_ucb_HierarchyDataSource_idl__
|
|
|
|
#include <com/sun/star/lang/XMultiServiceFactory.idl>
|
|
#include <com/sun/star/lang/XComponent.idl>
|
|
|
|
//=============================================================================
|
|
|
|
module com { module sun { module star { module ucb {
|
|
|
|
//=============================================================================
|
|
/** manages one or more complete sets of hierarchy data and serves as a factory
|
|
for objects that provide access to a subset of the data.
|
|
|
|
<p><b>Note:</b> This is an abstract service. This means, that there should
|
|
never be implementations that can be instantiated using the service name
|
|
<code>com.sun.star.ucb.HierarchyDataSource</code>. Each implementation must
|
|
provide its own service name that can be used to create instances of that
|
|
service implementation. Important for those service specifications is also
|
|
to specify which of the optional parts are supported by the implementation.
|
|
*/
|
|
published service HierarchyDataSource
|
|
{
|
|
//-------------------------------------------------------------------------
|
|
/** allows creating access objects for specific views such as subsets and
|
|
fragments of the hierarchy data.
|
|
|
|
<p>The parameter <var>aServiceSpecifier</var> passed to
|
|
<member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
|
|
supports at least the service specifier
|
|
<code>"com.sun.star.ucb.HierarchyDataReadAccess"</code>, which will
|
|
create a <b>read-only view</b> to the data. The object that is created
|
|
implements the service <type>HierarchyDataReadAccess</type>.
|
|
|
|
<p><b>Optionally</b> the factory may support <b>writable views</b>. A
|
|
writable view is requested by passing the service specifier
|
|
<code>"com.sun.star.ucb.HierarchyDataReadWriteAccess"</code> to
|
|
<member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
|
|
The object that is created implements the service
|
|
<type>HierarchyDataReadWriteAccess</type>.
|
|
|
|
<p>The arguments passed to
|
|
<member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
|
|
in parameter <var>aArguments</var> specify the view of the data that
|
|
should be created. That is, they determine the subset of elements that
|
|
can be accessed starting from the returned object. Each element of the
|
|
argument sequence should be a
|
|
<type scope="com::sun::star::beans">PropertyValue</type>, so that the
|
|
parameters can be identified by name rather than by position.
|
|
|
|
<p>With both of the standard service specifiers above, an implementation
|
|
must accept a property named <code>nodepath</code> of type
|
|
<atom>string</atom>. This property must contain the absolute path to an
|
|
element of the data. The view that is selected consists of the named
|
|
element and all its descendants. A path consists of segments that are
|
|
separated by a single slash ("/"). There is neither a leading nor a
|
|
trailing slash allowed. The <b>root</b> of the hierarchy data always
|
|
has an empty path. Refer to <type>HierarchyDataReadAccess</type> for
|
|
more information on hierarchical names.
|
|
|
|
<p>Other arguments can be used to control the behavior of the view.
|
|
These are different for different implementations. Whether and how they
|
|
are used may also depend on the configuration store and configuration
|
|
that were selected when the provider was created.
|
|
|
|
<p>An implementation must ignore unknown arguments.
|
|
|
|
<p>The implementation of
|
|
<member scope="com::sun::star::lang">XMultiServiceFactory::createInstance</member>
|
|
must behave exactly as if
|
|
<member scope="com::sun::star::lang">XMultiServiceFactory::createInstanceWithArguments</member>
|
|
were called passing one single property named <code>nodepath</code>
|
|
where the property value is an empty string. Thus it always creates a
|
|
view to the root of the hierarchy data.
|
|
*/
|
|
interface com::sun::star::lang::XMultiServiceFactory;
|
|
|
|
//-------------------------------------------------------------------------
|
|
/** allows controlling or observing the lifetime of the hierarchy data
|
|
source and its views.
|
|
*/
|
|
interface com::sun::star::lang::XComponent;
|
|
};
|
|
|
|
//=============================================================================
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|