1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_ucb_ContentProvider_idl__ 24#define __com_sun_star_ucb_ContentProvider_idl__ 25 26#ifndef __com_sun_star_ucb_XContentProvider_idl__ 27#include <com/sun/star/ucb/XContentProvider.idl> 28#endif 29 30#ifndef __com_sun_star_ucb_XContentIdentifierFactory_idl__ 31#include <com/sun/star/ucb/XContentIdentifierFactory.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XParameterizedContentProvider_idl__ 35#include <com/sun/star/ucb/XParameterizedContentProvider.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_XContentProviderSupplier_idl__ 39#include <com/sun/star/ucb/XContentProviderSupplier.idl> 40#endif 41 42//============================================================================= 43 44module com { module sun { module star { module ucb { 45 46//============================================================================= 47/** provides access to a set of <type>Content</type>s. 48*/ 49published service ContentProvider 50{ 51 //------------------------------------------------------------------------- 52 /** gives access to all contents provided by this provider. 53 */ 54 interface com::sun::star::ucb::XContentProvider; 55 56 //------------------------------------------------------------------------- 57 /** creates special <type>XContentIdentifier</type> implementation 58 objects for the contents provided by this content provider. 59 60 <p>This interface can be implemented in case the provider wants to 61 provide some additional interfaces with its implementation of the 62 identifier objects. 63 */ 64 [optional] interface com::sun::star::ucb::XContentIdentifierFactory; 65 66 //------------------------------------------------------------------------- 67 /** allows a <type>ContentProvider</type> to adjust itself to special 68 needs. 69 70 <p>Whenever a ContentProvider that supports this interface is 71 registered at a <type>XContentProviderManager</type>, the method 72 <member>XParameterizedContentProvider::registerInstance</member> 73 should first be called, using the returned <type>XContentProvider</type> 74 to register at the XContentProviderManager. 75 */ 76 [optional] interface com::sun::star::ucb::XParameterizedContentProvider; 77 78}; 79 80//============================================================================= 81 82}; }; }; }; 83 84#endif 85