| /************************************************************** |
| * |
| * 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_HierarchyContentProvider_idl__ |
| #define __com_sun_star_ucb_HierarchyContentProvider_idl__ |
| |
| #ifndef __com_sun_star_ucb_XContentProvider_idl__ |
| #include <com/sun/star/ucb/XContentProvider.idl> |
| #endif |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module ucb { |
| |
| //============================================================================= |
| /** The Hierarchy Content Provider (HCP) implements a |
| <type>ContentProvider</type> for the <type>UniversalContentBroker</type> |
| (UCB). |
| |
| <p>It provides access to a persistent, customizable hierarchy of contents |
| (folders and links). |
| |
| @see com::sun::star::ucb::Content |
| */ |
| published service HierarchyContentProvider |
| { |
| //------------------------------------------------------------------------- |
| /** provides three types of contents: Link, Folder and Root Folder. |
| |
| <p> |
| |
| <b>HCP Contents</b> |
| <ol> |
| <li> |
| A HCP Link (<type>HierarchyLinkContent</type>) is a content which |
| points to another (UCB) content. It is always contained in HCP Folder. |
| A HCP Link has no children. |
| </li> |
| <li> |
| A HCP Folder (<type>HierarchyFolderContent</type>) is a container for |
| other HCP Folders and HCP Links. |
| </li> |
| <li> |
| There is at most one instance of a HCP Root Folder |
| ( <type>HierarchyRootFolderContent</type> ) at a time. |
| All other HCP contents are children of this folder. The HCP Root |
| Folder can contain HCP Folders and HCP Links. It has the URL |
| "vnd.sun.star.hier:/". |
| </li> |
| </ol> |
| |
| <p><b>URL Scheme for HCP Contents</b> |
| |
| <p>Each HCP content has an identifier corresponding to the following |
| scheme: |
| |
| <ul> |
| <li> |
| vnd.sun.star.hier:/<path>, where <path> is a |
| hierarchical path of the form <name>/.../<name> and |
| where <name> is a string encoded according to the URL |
| conventions. |
| </li> |
| </ul> |
| |
| <p>Examples: |
| |
| <ul> |
| <li> |
| vnd.sun.star.hier:/ (The URL of the HCP Root Folder) |
| </li> |
| <li> |
| vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page |
| </li> |
| <li> |
| vnd.sun.star.hier:/Workplace/Printers |
| </li> |
| </ul> |
| |
| </p> |
| */ |
| interface com::sun::star::ucb::XContentProvider; |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |