blob: 8a73742433793f361af784f95b3c19eb673edc24 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_ucb_ContentProvider_idl__
#define __com_sun_star_ucb_ContentProvider_idl__
#ifndef __com_sun_star_ucb_XContentProvider_idl__
#include <com/sun/star/ucb/XContentProvider.idl>
#endif
#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__
#include <com/sun/star/ucb/XContentIdentifierFactory.idl>
#endif
#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__
#include <com/sun/star/ucb/XParameterizedContentProvider.idl>
#endif
#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__
#include <com/sun/star/ucb/XContentProviderSupplier.idl>
#endif
//=============================================================================
module com { module sun { module star { module ucb {
//=============================================================================
/** provides access to a set of <type>Content</type>s.
*/
published service ContentProvider
{
//-------------------------------------------------------------------------
/** gives access to all contents provided by this provider.
*/
interface com::sun::star::ucb::XContentProvider;
//-------------------------------------------------------------------------
/** creates special <type>XContentIdentifier</type> implementation
objects for the contents provided by this content provider.
<p>This interface can be implemented in case the provider wants to
provide some additional interfaces with its implementation of the
identifier objects.
*/
[optional] interface com::sun::star::ucb::XContentIdentifierFactory;
//-------------------------------------------------------------------------
/** allows a <type>ContentProvider</type> to adjust itself to special
needs.
<p>Whenever a ContentProvider that supports this interface is
registered at a <type>XContentProviderManager</type>, the method
<member>XParameterizedContentProvider::registerInstance</member>
should first be called, using the returned <type>XContentProvider</type>
to register at the XContentProviderManager.
*/
[optional] interface com::sun::star::ucb::XParameterizedContentProvider;
};
//=============================================================================
}; }; }; };
#endif