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_XContentProvider_idl__ 24#define __com_sun_star_ucb_XContentProvider_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29 30#ifndef __com_sun_star_ucb_XContentIdentifier_idl__ 31#include <com/sun/star/ucb/XContentIdentifier.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XContent_idl__ 35#include <com/sun/star/ucb/XContent.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_IllegalIdentifierException_idl__ 39#include <com/sun/star/ucb/IllegalIdentifierException.idl> 40#endif 41 42//============================================================================= 43 44module com { module sun { module star { module ucb { 45 46//============================================================================= 47/** a content provider which creates and manages <type>XContent</type>s. 48 49 @version 1.0 50 @author Kai Sommerfeld 51 @see XContent 52 @see XContentIdentifier 53*/ 54published interface XContentProvider: com::sun::star::uno::XInterface 55{ 56 //------------------------------------------------------------------------- 57 /** creates a new <type>XContent</type> instance, if the given 58 <type>XContentIdentifier</type> matches a content provided by the 59 implementation of this interface. 60 61 @param Identifier 62 an identifier for the content to query. 63 64 @returns 65 the content. 66 67 @throws IllegalIdentifierException 68 if the given identifier does not match a content provided by the 69 implementation of this interface 70 */ 71 com::sun::star::ucb::XContent queryContent( 72 [in] com::sun::star::ucb::XContentIdentifier Identifier ) 73 raises ( com::sun::star::ucb::IllegalIdentifierException ); 74 75 //------------------------------------------------------------------------- 76 /** compares two <type>XContentIdentifier</type>s. 77 78 @param Id1 79 first content identifier. 80 81 @param Id2 82 second content identifier. 83 84 @returns 85 <code>0</code> is returned, if the identifiers are equal. 86 A value less than <code>0</code> indiactes, that the Id1 87 is less than Id2. A value greater than <code>0</code> 88 is returned, if Id1 is greater than Id2. 89 */ 90 long compareContentIds( 91 [in] com::sun::star::ucb::XContentIdentifier Id1, 92 [in] com::sun::star::ucb::XContentIdentifier Id2 ); 93}; 94 95//============================================================================= 96 97}; }; }; }; 98 99#endif 100