xref: /AOO41X/main/offapi/com/sun/star/ucb/HierarchyContentProvider.idl (revision cdf0e10c4e3984b49a9502b011690b615761d4a3)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_ucb_HierarchyContentProvider_idl__
28#define __com_sun_star_ucb_HierarchyContentProvider_idl__
29
30#ifndef __com_sun_star_ucb_XContentProvider_idl__
31#include <com/sun/star/ucb/XContentProvider.idl>
32#endif
33
34//=============================================================================
35
36module com { module sun { module star { module ucb {
37
38//=============================================================================
39/** The Hierarchy Content Provider (HCP) implements a
40    <type>ContentProvider</type> for the <type>UniversalContentBroker</type>
41	(UCB).
42
43	<p>It provides access to a persistent, customizable hierarchy of contents
44	(folders and links).
45
46	@see com::sun::star::ucb::Content
47*/
48published service HierarchyContentProvider
49{
50	//-------------------------------------------------------------------------
51	/** provides three types of contents: Link, Folder and Root Folder.
52
53		<p>
54
55		<b>HCP Contents</b>
56		<ol>
57		<li>
58		A HCP Link (<type>HierarchyLinkContent</type>) is a content which
59		points to another (UCB) content. It is always contained in HCP Folder.
60		A HCP Link has no children.
61		</li>
62		<li>
63		A HCP Folder (<type>HierarchyFolderContent</type>) is a container for
64		other HCP Folders and HCP Links.
65		</li>
66		<li>
67		There is at most one instance of a HCP Root Folder
68		( <type>HierarchyRootFolderContent</type> ) at a time.
69		All other HCP contents are children of this folder. The HCP Root
70		Folder can contain HCP Folders and HCP Links. It has the URL
71		"vnd.sun.star.hier:/".
72		</li>
73		</ol>
74
75		<p><b>URL Scheme for HCP Contents</b>
76
77		<p>Each HCP content has an identifier corresponding to the following
78		scheme:
79
80		<ul>
81		<li>
82			vnd.sun.star.hier:/&lt;path&gt;, where &lt;path&gt; is a
83			hierarchical path of the form &lt;name&gt;/.../&lt;name&gt; and
84			where &lt;name&gt; is a string encoded according to the URL
85			conventions.
86		</li>
87		</ul>
88
89		<p>Examples:
90
91		<ul>
92		<li>
93		vnd.sun.star.hier:/ (The URL of the HCP Root Folder)
94		</li>
95		<li>
96		vnd.sun.star.hier:/Bookmarks/Sun%20Microsystems%20Home%20Page
97		</li>
98		<li>
99		vnd.sun.star.hier:/Workplace/Printers
100		</li>
101		</ul>
102
103		</p>
104	 */
105	interface com::sun::star::ucb::XContentProvider;
106};
107
108//=============================================================================
109
110}; }; }; };
111
112#endif
113