1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
27 #ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__
28 #define __com_sun_star_ucb_WebDAVFolderContent_idl__
30 #ifndef __com_sun_star_lang_XComponent_idl__
31 #include
<com
/sun
/star
/lang
/XComponent.idl
>
34 #ifndef __com_sun_star_ucb_XContent_idl__
35 #include
<com
/sun
/star
/ucb
/XContent.idl
>
38 #ifndef __com_sun_star_ucb_XCommandProcessor_idl__
39 #include
<com
/sun
/star
/ucb
/XCommandProcessor.idl
>
42 #ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
43 #include
<com
/sun
/star
/ucb
/XCommandProcessor2.idl
>
46 #ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
47 #include
<com
/sun
/star
/beans
/XPropertiesChangeNotifier.idl
>
50 #ifndef __com_sun_star_beans_XPropertyContainer_idl__
51 #include
<com
/sun
/star
/beans
/XPropertyContainer.idl
>
54 #ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
55 #include
<com
/sun
/star
/beans
/XPropertySetInfoChangeNotifier.idl
>
58 #ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
59 #include
<com
/sun
/star
/ucb
/XCommandInfoChangeNotifier.idl
>
62 #ifndef __com_sun_star_container_XChild_idl__
63 #include
<com
/sun
/star
/container
/XChild.idl
>
66 #ifndef __com_sun_star_ucb_XContentCreator_idl__
67 #include
<com
/sun
/star
/ucb
/XContentCreator.idl
>
70 //=============================================================================
72 module com
{ module sun
{ module star
{ module ucb
{
74 //=============================================================================
75 /** A DCP Folder is a container for other DCP Folders or Documents.
77 @see com::sun::star::ucb::WebDAVContentProvider
78 @see com::sun::star::ucb::WebDAVDocumentContent
80 published service WebDAVFolderContent
82 //-------------------------------------------------------------------------
83 /** This interface is implemented according to the specification of
84 service <type>Content</type>.
86 interface com
::sun
::star
::lang
::XComponent
;
88 //-------------------------------------------------------------------------
89 /** This interface is implemented according to the specification of
90 service <type>Content</type>.
92 interface com
::sun
::star
::ucb
::XContent
;
94 //-------------------------------------------------------------------------
95 /** This interface is implemented according to the specification of
96 service <type>Content</type>.
100 <b>Supported Commands</b>
115 insert ( makes a newly created folder persistent )
124 transfer ( only transfers from DCP Folders/DCP Documents to other
125 DCP folders. Source and target must recide on the same server. )
129 <b>Supported Properties</b>
132 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
135 boolean IsDocument ( read-only, always false )
138 boolean IsFolder ( read-only, always true )
141 <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
144 <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only )
150 string Size ( read-only, always zero )
159 interface com
::sun
::star
::ucb
::XCommandProcessor
;
161 //-------------------------------------------------------------------------
162 /** is an enhanced version of <type>XCommandProcessor</type> that has an
163 additional method for releasing command identifiers obtained via
164 <member>XCommandProcessor::createCommandIdentifier</member> to avoid
165 resource leaks. For a detailed description of the problem refer to
166 <member>XCommandProcessor2::releaseCommandIdentifier</member>.
168 <p>Where many existing <type>Content</type> implementations do not
169 (yet), every new implementation should support this interface.
171 [optional] interface com
::sun
::star
::ucb
::XCommandProcessor2
;
173 //-------------------------------------------------------------------------
174 /** This interface is implemented according to the specification of
175 service <type>Content</type>.
177 interface com
::sun
::star
::beans
::XPropertiesChangeNotifier
;
179 //-------------------------------------------------------------------------
180 /** This interface is implemented according to the specification of
181 service <type>Content</type>.
183 interface com
::sun
::star
::beans
::XPropertyContainer
;
185 //-------------------------------------------------------------------------
186 /** This interface is implemented according to the specification of
187 service <type>Content</type>.
189 interface com
::sun
::star
::beans
::XPropertySetInfoChangeNotifier
;
191 //-------------------------------------------------------------------------
192 /** This interface is implemented according to the specification of
193 service <type>Content</type>.
195 interface com
::sun
::star
::ucb
::XCommandInfoChangeNotifier
;
197 //-------------------------------------------------------------------------
198 /** This interface is implemented according to the specification of
199 service <type>Content</type>.
201 interface com
::sun
::star
::container
::XChild
;
203 //-------------------------------------------------------------------------
204 /** This interface is implemented according to the specification of
205 service <type>Content</type>.
209 A DCP Folder can create other DCP Folders and DCP Documents. To create
210 a new child of a PCP Folder:
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
217 "application/vnd.sun.star.webdav-collection". To create a new DCP
218 Document, use the type "application/http-content".
221 Set a title at the new folder / document. ( Let the new child execute
222 the command "setPropertyValues", which sets at least the property
223 "Title" to a non-empty value ).
226 Let the new child ( not the parent! ) execute the command "insert".
227 This will commit the creation process and persist the newly created
228 content on the server. For documents, you need to supply the
229 implementation of an <type scope="com::sun::star::io">XInputStream</type>
230 with the command's parameters, that provides access to the stream data.
236 interface com
::sun
::star
::ucb
::XContentCreator
;
239 //=============================================================================