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