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: WebDAVFolderContent.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_WebDAVFolderContent_idl__
31 #define __com_sun_star_ucb_WebDAVFolderContent_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 DCP Folder is a container for other DCP Folders or Documents.
80 @see com::sun::star::ucb::WebDAVContentProvider
81 @see com::sun::star::ucb::WebDAVDocumentContent
83 published service WebDAVFolderContent
85 //-------------------------------------------------------------------------
86 /** This interface is implemented according to the specification of
87 service <type>Content</type>.
89 interface com
::sun
::star
::lang
::XComponent
;
91 //-------------------------------------------------------------------------
92 /** This interface is implemented according to the specification of
93 service <type>Content</type>.
95 interface com
::sun
::star
::ucb
::XContent
;
97 //-------------------------------------------------------------------------
98 /** This interface is implemented according to the specification of
99 service <type>Content</type>.
103 <b>Supported Commands</b>
118 insert ( makes a newly created folder persistent )
127 transfer ( only transfers from DCP Folders/DCP Documents to other
128 DCP folders. Source and target must recide on the same server. )
132 <b>Supported Properties</b>
135 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
138 boolean IsDocument ( read-only, always false )
141 boolean IsFolder ( read-only, always true )
144 <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
147 <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only )
153 string Size ( read-only, always zero )
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>.
212 A DCP Folder can create other DCP Folders and DCP Documents. To create
213 a new child of a PCP Folder:
217 Let the parent folder create a new content by calling
218 <member>XContentCreator::createNewContent</member> on it. The content
219 type to use for new folders is
220 "application/vnd.sun.star.webdav-collection". To create a new DCP
221 Document, use the type "application/http-content".
224 Set a title at the new folder / document. ( Let the new child execute
225 the command "setPropertyValues", which sets at least the property
226 "Title" to a non-empty value ).
229 Let the new child ( not the parent! ) execute the command "insert".
230 This will commit the creation process and persist the newly created
231 content on the server. For documents, you need to supply the
232 implementation of an <type scope="com::sun::star::io">XInputStream</type>
233 with the command's parameters, that provides access to the stream data.
239 interface com
::sun
::star
::ucb
::XContentCreator
;
242 //=============================================================================