1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: HierarchyRootFolderContent.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_ucb_HierarchyRootFolderContent_idl__
31 #define __com_sun_star_ucb_HierarchyRootFolderContent_idl__
33 #ifndef __com_sun_star_lang_XComponent_idl__
34 #include
<com
/sun
/star
/lang
/XComponent.idl
>
37 #ifndef __com_sun_star_ucb_XContent_idl__
38 #include
<com
/sun
/star
/ucb
/XContent.idl
>
41 #ifndef __com_sun_star_ucb_XCommandProcessor_idl__
42 #include
<com
/sun
/star
/ucb
/XCommandProcessor.idl
>
45 #ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
46 #include
<com
/sun
/star
/ucb
/XCommandProcessor2.idl
>
49 #ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
50 #include
<com
/sun
/star
/beans
/XPropertiesChangeNotifier.idl
>
53 #ifndef __com_sun_star_beans_XPropertyContainer_idl__
54 #include
<com
/sun
/star
/beans
/XPropertyContainer.idl
>
57 #ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
58 #include
<com
/sun
/star
/beans
/XPropertySetInfoChangeNotifier.idl
>
61 #ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
62 #include
<com
/sun
/star
/ucb
/XCommandInfoChangeNotifier.idl
>
65 #ifndef __com_sun_star_container_XChild_idl__
66 #include
<com
/sun
/star
/container
/XChild.idl
>
69 #ifndef __com_sun_star_ucb_XContentCreator_idl__
70 #include
<com
/sun
/star
/ucb
/XContentCreator.idl
>
73 //=============================================================================
75 module com
{ module sun
{ module star
{ module ucb
{
77 //=============================================================================
78 /** A HCP Root Folder is the root container for all other HCP Folders and HCP
81 <p>It always has the URL "vnd.sun.star.hier:/". A HCP Root Folder neither
82 can't be created nor deleted by a UCB client.
84 @see com::sun::star::ucb::HierarchyContentProvider
85 @see com::sun::star::ucb::HierarchyFolderContent
86 @see com::sun::star::ucb::HierarchyLinkContent
88 published service HierarchyRootFolderContent
90 //-------------------------------------------------------------------------
91 /** This interface is implemented according to the specification of
92 service <type>Content</type>.
94 interface com
::sun
::star
::lang
::XComponent
;
96 //-------------------------------------------------------------------------
97 /** This interface is implemented according to the specification of
98 service <type>Content</type>.
100 interface com
::sun
::star
::ucb
::XContent
;
102 //-------------------------------------------------------------------------
103 /** This interface is implemented according to the specification of
104 service <type>Content</type>.
108 <b>Supported Commands</b>
126 transfer ( only transfers from one hierarchy folder to another supported )
130 <b>Supported Properties</b>
133 string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
136 boolean IsDocument ( read-only, always false )
139 boolean IsFolder ( read-only, always true )
142 string Title ( read-only, always an empty string )
148 interface com
::sun
::star
::ucb
::XCommandProcessor
;
150 //-------------------------------------------------------------------------
151 /** is an enhanced version of <type>XCommandProcessor</type> that has an
152 additional method for releasing command identifiers obtained via
153 <member>XCommandProcessor::createCommandIdentifier</member> to avoid
154 resource leaks. For a detailed description of the problem refer to
155 <member>XCommandProcessor2::releaseCommandIdentifier</member>.
157 <p>Where many existing <type>Content</type> implementations do not
158 (yet), every new implementation should support this interface.
160 [optional] interface com
::sun
::star
::ucb
::XCommandProcessor2
;
162 //-------------------------------------------------------------------------
163 /** This interface is implemented according to the specification of
164 service <type>Content</type>.
166 interface com
::sun
::star
::beans
::XPropertiesChangeNotifier
;
168 //-------------------------------------------------------------------------
169 /** This interface is implemented according to the specification of
170 service <type>Content</type>.
172 interface com
::sun
::star
::beans
::XPropertyContainer
;
174 //-------------------------------------------------------------------------
175 /** This interface is implemented according to the specification of
176 service <type>Content</type>.
178 interface com
::sun
::star
::beans
::XPropertySetInfoChangeNotifier
;
180 //-------------------------------------------------------------------------
181 /** This interface is implemented according to the specification of
182 service <type>Content</type>.
184 interface com
::sun
::star
::ucb
::XCommandInfoChangeNotifier
;
186 //-------------------------------------------------------------------------
187 /** This interface is implemented according to the specification of
188 service <type>Content</type>.
190 interface com
::sun
::star
::container
::XChild
;
192 //-------------------------------------------------------------------------
193 /** This interface is implemented according to the specification of
194 service <type>Content</type>.
198 A HCP Root Folder can create HCP Folders and HCP Links. To create
199 a new child of a HCP Root Folder:
203 Let the parent folder create a new content by calling
204 <member>XContentCreator::createNewContent</member> on it. The content
205 type to use for new folders is "application/vnd.sun.star.hier-folder".
206 To create a new link, use the type "application/vnd.sun.star.hier-link".
209 Set a title at the new folder / link. ( Let the new child execute
210 the command "setPropertyValues", which sets at least the property
211 "Title" to a non-empty value ). For a link, you need to set the
212 property "TargetURL" as well to a non-empty value.
215 Let the new child ( not the parent! ) execute the command "insert".
216 This will commit the creation process.
222 interface com
::sun
::star
::ucb
::XContentCreator
;
225 //=============================================================================