Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / ucb / HierarchyFolderContent.idl
blob03f6a16cfea4af64cd6b9be4651060550046d596
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: HierarchyFolderContent.idl,v $
10 * $Revision: 1.9 $
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_HierarchyFolderContent_idl__
31 #define __com_sun_star_ucb_HierarchyFolderContent_idl__
33 #ifndef __com_sun_star_lang_XComponent_idl__
34 #include <com/sun/star/lang/XComponent.idl>
35 #endif
37 #ifndef __com_sun_star_ucb_XContent_idl__
38 #include <com/sun/star/ucb/XContent.idl>
39 #endif
41 #ifndef __com_sun_star_ucb_XCommandProcessor_idl__
42 #include <com/sun/star/ucb/XCommandProcessor.idl>
43 #endif
45 #ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
46 #include <com/sun/star/ucb/XCommandProcessor2.idl>
47 #endif
49 #ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
50 #include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
51 #endif
53 #ifndef __com_sun_star_beans_XPropertyContainer_idl__
54 #include <com/sun/star/beans/XPropertyContainer.idl>
55 #endif
57 #ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
58 #include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
59 #endif
61 #ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
62 #include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
63 #endif
65 #ifndef __com_sun_star_container_XChild_idl__
66 #include <com/sun/star/container/XChild.idl>
67 #endif
69 #ifndef __com_sun_star_ucb_XContentCreator_idl__
70 #include <com/sun/star/ucb/XContentCreator.idl>
71 #endif
73 //=============================================================================
75 module com { module sun { module star { module ucb {
77 //=============================================================================
78 /** A HCP Folder is a container for other HCP Folders and HCP Links.
80 @see com::sun::star::ucb::HierarchyContentProvider
81 @see com::sun::star::ucb::HierarchyRootFolderContent
82 @see com::sun::star::ucb::HierarchyLinkContent
84 published service HierarchyFolderContent
86 //-------------------------------------------------------------------------
87 /** This interface is implemented according to the specification of
88 service <type>Content</type>.
90 interface com::sun::star::lang::XComponent;
92 //-------------------------------------------------------------------------
93 /** This interface is implemented according to the specification of
94 service <type>Content</type>.
96 interface com::sun::star::ucb::XContent;
98 //-------------------------------------------------------------------------
99 /** This interface is implemented according to the specification of
100 service <type>Content</type>.
104 <b>Supported Commands</b>
105 <ul>
106 <li>
107 getCommandInfo
108 </li>
109 <li>
110 getPropertySetInfo
111 </li>
112 <li>
113 getPropertyValues
114 </li>
115 <li>
116 setPropertyValues
117 </li>
118 <li>
119 insert ( makes a newly created folder persistent )
120 </li>
121 <li>
122 delete
123 </li>
124 <li>
125 open
126 </li>
127 <li>
128 transfer ( only transfers from one hierarchy folder to another supported )
129 </li>
130 </ul>
132 <b>Supported Properties</b>
133 <ul>
134 <li>
135 string ContentType ( read-only, always "application/vnd.sun.star.hier-folder" )
136 </li>
137 <li>
138 boolean IsDocument ( read-only, always false )
139 </li>
140 <li>
141 boolean IsFolder ( read-only, always true )
142 </li>
143 <li>
144 string Title
145 </li>
146 </ul>
148 </p>
150 interface com::sun::star::ucb::XCommandProcessor;
152 //-------------------------------------------------------------------------
153 /** is an enhanced version of <type>XCommandProcessor</type> that has an
154 additional method for releasing command identifiers obtained via
155 <member>XCommandProcessor::createCommandIdentifier</member> to avoid
156 resource leaks. For a detailed description of the problem refer to
157 <member>XCommandProcessor2::releaseCommandIdentifier</member>.
159 <p>Where many existing <type>Content</type> implementations do not
160 (yet), every new implementation should support this interface.
162 [optional] interface com::sun::star::ucb::XCommandProcessor2;
164 //-------------------------------------------------------------------------
165 /** This interface is implemented according to the specification of
166 service <type>Content</type>.
168 interface com::sun::star::beans::XPropertiesChangeNotifier;
170 //-------------------------------------------------------------------------
171 /** This interface is implemented according to the specification of
172 service <type>Content</type>.
174 interface com::sun::star::beans::XPropertyContainer;
176 //-------------------------------------------------------------------------
177 /** This interface is implemented according to the specification of
178 service <type>Content</type>.
180 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
182 //-------------------------------------------------------------------------
183 /** This interface is implemented according to the specification of
184 service <type>Content</type>.
186 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
188 //-------------------------------------------------------------------------
189 /** This interface is implemented according to the specification of
190 service <type>Content</type>.
192 interface com::sun::star::container::XChild;
194 //-------------------------------------------------------------------------
195 /** This interface is implemented according to the specification of
196 service <type>Content</type>.
200 A HCP Folder can create other HCP Folders and HCP Links. To create
201 a new child of a HCP Folder:
203 <ol>
204 <li>
205 Let the parent folder create a new content by calling
206 <member>XContentCreator::createNewContent</member> on it. The content
207 type to use for new folders is "application/vnd.sun.star.hier-folder".
208 To create a new link, use the type "application/vnd.sun.star.hier-link".
209 </li>
210 <li>
211 Set a title at the new folder / link. ( Let the new child execute
212 the command "setPropertyValues", which sets at least the property
213 "Title" to a non-empty value ). For a link, you need to set the
214 property "TargetURL" as well to a non-empty value.
215 </li>
216 <li>
217 Let the new child ( not the parent! ) execute the command "insert".
218 This will commit the creation process.
219 </li>
220 </ol>
222 </p>
224 interface com::sun::star::ucb::XContentCreator;
227 //=============================================================================
229 }; }; }; };
231 #endif