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_HierarchyContentProvider_idl__ 24#define __com_sun_star_ucb_HierarchyContentProvider_idl__ 25 26#ifndef __com_sun_star_ucb_XContentProvider_idl__ 27#include <com/sun/star/ucb/XContentProvider.idl> 28#endif 29 30//============================================================================= 31 32module com { module sun { module star { module ucb { 33 34//============================================================================= 35/** The Hierarchy Content Provider (HCP) implements a 36 <type>ContentProvider</type> for the <type>UniversalContentBroker</type> 37 (UCB). 38 39 <p>It provides access to a persistent, customizable hierarchy of contents 40 (folders and links). 41 42 @see com::sun::star::ucb::Content 43*/ 44published service HierarchyContentProvider 45{ 46 //------------------------------------------------------------------------- 47 /** provides three types of contents: Link, Folder and Root Folder. 48 49 <p> 50 51 <b>HCP Contents</b> 52 <ol> 53 <li> 54 A HCP Link (<type>HierarchyLinkContent</type>) is a content which 55 points to another (UCB) content. It is always contained in HCP Folder. 56 A HCP Link has no children. 57 </li> 58 <li> 59 A HCP Folder (<type>HierarchyFolderContent</type>) is a container for 60 other HCP Folders and HCP Links. 61 </li> 62 <li> 63 There is at most one instance of a HCP Root Folder 64 ( <type>HierarchyRootFolderContent</type> ) at a time. 65 All other HCP contents are children of this folder. The HCP Root 66 Folder can contain HCP Folders and HCP Links. It has the URL 67 "vnd.sun.star.hier:/". 68 </li> 69 </ol> 70 71 <p><b>URL Scheme for HCP Contents</b> 72 73 <p>Each HCP content has an identifier corresponding to the following 74 scheme: 75 76 <ul> 77 <li> 78 vnd.sun.star.hier:/<path>, where <path> is a 79 hierarchical path of the form <name>/.../<name> and 80 where <name> is a string encoded according to the URL 81 conventions. 82 </li> 83 </ul> 84 85 <p>Examples: 86 87 <ul> 88 <li> 89 vnd.sun.star.hier:/ (The URL of the HCP Root Folder) 90 </li> 91 <li> 92 vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page 93 </li> 94 <li> 95 vnd.sun.star.hier:/Workplace/Printers 96 </li> 97 </ul> 98 99 </p> 100 */ 101 interface com::sun::star::ucb::XContentProvider; 102}; 103 104//============================================================================= 105 106}; }; }; }; 107 108#endif 109