Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / ucb / TransientDocumentsFolderContent.idl
blobbe1658544f3b69b4ade2eb92a118e410db5acd50
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: TransientDocumentsFolderContent.idl,v $
10 * $Revision: 1.5 $
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_TransientDocumentsFolderContent_idl__
31 #define __com_sun_star_ucb_TransientDocumentsFolderContent_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 TDCP Folder is a container for other TDCP Folders and TDCP Streams.
80 <p>It may be contained in another TDCP Folder or in a TDCP Document.
82 @see TransientDocumentsContentProvider
83 @see TransientDocumentsRootContent
84 @see TransientDocumentsDocumentContent
85 @see TransientDocumentsStreamContent
87 @since OOo 2.0.0
89 service TransientDocumentsFolderContent
91 //-------------------------------------------------------------------------
92 /** This interface is implemented according to the specification of
93 service <type>Content</type>.
95 interface com::sun::star::lang::XComponent;
97 //-------------------------------------------------------------------------
98 /** This interface is implemented according to the specification of
99 service <type>Content</type>.
101 interface com::sun::star::ucb::XContent;
103 //-------------------------------------------------------------------------
104 /** This interface is implemented according to the specification of
105 service <type>Content</type>.
109 <b>Supported Commands</b>
110 <ul>
111 <li>
112 getCommandInfo
113 </li>
114 <li>
115 getPropertySetInfo
116 </li>
117 <li>
118 getPropertyValues
119 </li>
120 <li>
121 setPropertyValues
122 </li>
123 <li>
124 open
125 </li>
126 <li>
127 insert
128 </li>
129 <li>
130 delete
131 </li>
132 <li>
133 transfer (only transfers TDCP documents, TDCP folders and TDCP streams.
134 It does not handle contents with a URL scheme other than the TDOC URL
135 scheme)
136 </li>
137 </ul>
139 <b>Supported Properties</b>
140 <ul>
141 <li>
142 string ContentType ( read-only, always "application/vnd.sun.star.tdoc-folder" )
143 </li>
144 <li>
145 boolean IsDocument ( read-only, always false )
146 </li>
147 <li>
148 boolean IsFolder ( read-only, always true )
149 </li>
150 <li>
151 string Title
152 </li>
153 <li>
154 <type scope="com::sun::star::embed">XStorage</type> Storage ( read-only,
155 always a reference to a storage opened in read-only mode. No write
156 operations are possible. TDCP contents must be used for writing.)
157 </li>
158 </ul>
160 </p>
162 interface com::sun::star::ucb::XCommandProcessor;
164 //-------------------------------------------------------------------------
165 /** is an enhanced version of <type>XCommandProcessor</type> that has an
166 additional method for releasing command identifiers obtained via
167 <member>XCommandProcessor::createCommandIdentifier</member> to avoid
168 resource leaks. For a detailed description of the problem refer to
169 <member>XCommandProcessor2::releaseCommandIdentifier</member>.
171 <p>Where many existing <type>Content</type> implementations do not
172 (yet), every new implementation should support this interface.
174 [optional] interface com::sun::star::ucb::XCommandProcessor2;
176 //-------------------------------------------------------------------------
177 /** This interface is implemented according to the specification of
178 service <type>Content</type>.
180 interface com::sun::star::beans::XPropertiesChangeNotifier;
182 //-------------------------------------------------------------------------
183 /** This interface is implemented according to the specification of
184 service <type>Content</type>.
186 interface com::sun::star::beans::XPropertyContainer;
188 //-------------------------------------------------------------------------
189 /** This interface is implemented according to the specification of
190 service <type>Content</type>.
192 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
194 //-------------------------------------------------------------------------
195 /** This interface is implemented according to the specification of
196 service <type>Content</type>.
198 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
200 //-------------------------------------------------------------------------
201 /** This interface is implemented according to the specification of
202 service <type>Content</type>.
204 interface com::sun::star::container::XChild;
206 //-------------------------------------------------------------------------
207 /** This interface is implemented according to the specification of
208 service <type>Content</type>.
210 <p>To create a new child of a TDCP Folder:
212 <ol>
213 <li>
214 Let the parent folder create a new content by calling
215 <member>XContentCreator::createNewContent</member> on it. The content
216 type to use for new folders is "application/vnd.sun.star.tdoc-folder".
217 To create a new stream, use the type string
218 "application/vnd.sun.star.tdoc-stream".
219 </li>
220 <li>
221 Set a title for the new folder/stream. (Let the new child execute the
222 command "setPropertyValues"; pass a non-empty value for the property
223 "Title").
224 </li>
225 <li>
226 Let the new child ( not the parent! ) execute the command "insert".
227 This will commit the creation process. For streams, you need to supply
228 the implementation of an
229 <type scope="com::sun::star::io">XInputStream</type> with the command's
230 parameters, that provides access to the stream data.
231 </li>
232 </ol>
234 </p>
236 interface com::sun::star::ucb::XContentCreator;
239 //=============================================================================
241 }; }; }; };
243 #endif