blob: 1e27d12e2c5804d8d257ef7a6f9bc29251daf02f [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_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:/&lt;path&gt;, where &lt;path&gt; is a
hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
where &lt;name&gt; 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