xref: /AOO41X/main/offapi/com/sun/star/ucb/HierarchyLinkContent.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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_HierarchyLinkContent_idl__
28#define __com_sun_star_ucb_HierarchyLinkContent_idl__
29
30#ifndef __com_sun_star_lang_XComponent_idl__
31#include <com/sun/star/lang/XComponent.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_XCommandProcessor_idl__
39#include <com/sun/star/ucb/XCommandProcessor.idl>
40#endif
41
42#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
43#include <com/sun/star/ucb/XCommandProcessor2.idl>
44#endif
45
46#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
47#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
48#endif
49
50#ifndef __com_sun_star_beans_XPropertyContainer_idl__
51#include <com/sun/star/beans/XPropertyContainer.idl>
52#endif
53
54#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
55#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
56#endif
57
58#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
59#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
60#endif
61
62#ifndef __com_sun_star_container_XChild_idl__
63#include <com/sun/star/container/XChild.idl>
64#endif
65
66//=============================================================================
67
68module com { module sun { module star { module ucb {
69
70//=============================================================================
71/** A HCP Link is a content which points to another location.
72
73    <p>It is always contained in HCP Folder. A HCP Link has no children.
74
75	@see com::sun::star::ucb::HierarchyContentProvider
76	@see com::sun::star::ucb::HierarchyRootFolderContent
77	@see com::sun::star::ucb::HierarchyFolderContent
78*/
79published service HierarchyLinkContent
80{
81	//-------------------------------------------------------------------------
82	/** This interface is implemented according to the specification of
83		service <type>Content</type>.
84	 */
85	interface com::sun::star::lang::XComponent;
86
87	//-------------------------------------------------------------------------
88	/** This interface is implemented according to the specification of
89		service <type>Content</type>.
90	 */
91	interface com::sun::star::ucb::XContent;
92
93	//-------------------------------------------------------------------------
94	/** This interface is implemented according to the specification of
95		service <type>Content</type>.
96
97		<p>
98
99		<b>Supported Commands</b>
100		<ul>
101		<li>
102		getCommandInfo
103		</li>
104		<li>
105		getPropertySetInfo
106		</li>
107		<li>
108		getPropertyValues
109		</li>
110		<li>
111		setPropertyValues
112		</li>
113		<li>
114		insert ( makes a newly created link persistent )
115		</li>
116		<li>
117		delete
118		</li>
119		</ul>
120
121		<b>Supported Properties</b>
122		<ul>
123		<li>
124		string ContentType ( read-only, always "application/vnd.sun.star.hier-link" )
125		</li>
126		<li>
127		boolean IsDocument ( read-only, always true )
128		</li>
129		<li>
130		boolean IsFolder ( read-only, always false )
131		</li>
132		<li>
133		string Title
134		</li>
135		<li>
136		string TargetURL ( the URL of the link target )
137		</li>
138		</ul>
139
140		</p>
141	 */
142	interface com::sun::star::ucb::XCommandProcessor;
143
144    //-------------------------------------------------------------------------
145    /** is an enhanced version of <type>XCommandProcessor</type> that has an
146        additional method for releasing command identifiers obtained via
147        <member>XCommandProcessor::createCommandIdentifier</member> to avoid
148        resource leaks. For a detailed description of the problem refer to
149        <member>XCommandProcessor2::releaseCommandIdentifier</member>.
150
151        <p>Where many existing <type>Content</type> implementations do not
152        (yet), every new implementation should support this interface.
153     */
154    [optional] interface com::sun::star::ucb::XCommandProcessor2;
155
156	//-------------------------------------------------------------------------
157	/** This interface is implemented according to the specification of
158		service <type>Content</type>.
159	 */
160	interface com::sun::star::beans::XPropertiesChangeNotifier;
161
162	//-------------------------------------------------------------------------
163	/** This interface is implemented according to the specification of
164		service <type>Content</type>.
165	 */
166	interface com::sun::star::beans::XPropertyContainer;
167
168	//-------------------------------------------------------------------------
169	/** This interface is implemented according to the specification of
170		service <type>Content</type>.
171	 */
172	interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
173
174	//-------------------------------------------------------------------------
175	/** This interface is implemented according to the specification of
176		service <type>Content</type>.
177	 */
178	interface com::sun::star::ucb::XCommandInfoChangeNotifier;
179
180	//-------------------------------------------------------------------------
181	/** This interface is implemented according to the specification of
182		service <type>Content</type>.
183	 */
184	interface com::sun::star::container::XChild;
185};
186
187//=============================================================================
188
189}; }; }; };
190
191#endif
192