1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__
20 #define __com_sun_star_ucb_WebDAVFolderContent_idl__
22 #include
<com
/sun
/star
/lang
/XComponent.idl
>
23 #include
<com
/sun
/star
/ucb
/XContent.idl
>
24 #include
<com
/sun
/star
/ucb
/XCommandProcessor.idl
>
25 #include
<com
/sun
/star
/ucb
/XCommandProcessor2.idl
>
26 #include
<com
/sun
/star
/beans
/XPropertiesChangeNotifier.idl
>
27 #include
<com
/sun
/star
/beans
/XPropertyContainer.idl
>
28 #include
<com
/sun
/star
/beans
/XPropertySetInfoChangeNotifier.idl
>
29 #include
<com
/sun
/star
/ucb
/XCommandInfoChangeNotifier.idl
>
30 #include
<com
/sun
/star
/container
/XChild.idl
>
31 #include
<com
/sun
/star
/ucb
/XContentCreator.idl
>
34 module com
{ module sun
{ module star
{ module ucb
{
36 /** A DCP Folder is a container for other DCP Folders or Documents.
38 @see com::sun::star::ucb::WebDAVContentProvider
39 @see com::sun::star::ucb::WebDAVDocumentContent
41 published service WebDAVFolderContent
43 /** This interface is implemented according to the specification of
46 interface com
::sun
::star
::lang
::XComponent
;
48 /** This interface is implemented according to the specification of
51 interface com
::sun
::star
::ucb
::XContent
;
53 /** This interface is implemented according to the specification of
58 <b>Supported Commands</b>
73 insert ( makes a newly created folder persistent )
82 transfer ( only transfers from DCP Folders/DCP Documents to other
83 DCP folders. Source and target must reside on the same server. )
87 <b>Supported Properties</b>
90 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
93 boolean IsDocument ( read-only, always false )
96 boolean IsFolder ( read-only, always true )
99 com::sun::star::util::DateTime DateCreated ( read-only )
102 com::sun::star::util::DateTime DateModified ( read-only )
108 string Size ( read-only, always zero )
117 interface com
::sun
::star
::ucb
::XCommandProcessor
;
119 /** is an enhanced version of XCommandProcessor that has an
120 additional method for releasing command identifiers obtained via
121 XCommandProcessor::createCommandIdentifier() to avoid
122 resource leaks. For a detailed description of the problem refer to
123 XCommandProcessor2::releaseCommandIdentifier().
125 <p>Where many existing Content implementations do not
126 (yet), every new implementation should support this interface.
128 [optional] interface com
::sun
::star
::ucb
::XCommandProcessor2
;
130 /** This interface is implemented according to the specification of
133 interface com
::sun
::star
::beans
::XPropertiesChangeNotifier
;
135 /** This interface is implemented according to the specification of
138 interface com
::sun
::star
::beans
::XPropertyContainer
;
140 /** This interface is implemented according to the specification of
143 interface com
::sun
::star
::beans
::XPropertySetInfoChangeNotifier
;
145 /** This interface is implemented according to the specification of
148 interface com
::sun
::star
::ucb
::XCommandInfoChangeNotifier
;
150 /** This interface is implemented according to the specification of
153 interface com
::sun
::star
::container
::XChild
;
155 /** This interface is implemented according to the specification of
160 A DCP Folder can create other DCP Folders and DCP Documents. To create
161 a new child of a PCP Folder:
165 Let the parent folder create a new content by calling
166 XContentCreator::createNewContent() on it. The content
167 type to use for new folders is
168 "application/vnd.sun.star.webdav-collection". To create a new DCP
169 Document, use the type "application/http-content".
172 Set a title at the new folder / document. ( Let the new child execute
173 the command "setPropertyValues", which sets at least the property
174 "Title" to a non-empty value ).
177 Let the new child ( not the parent! ) execute the command "insert".
178 This will commit the creation process and persist the newly created
179 content on the server. For documents, you need to supply the
180 implementation of an com::sun::star::io::XInputStream
181 with the command's parameters, that provides access to the stream data.
187 interface com
::sun
::star
::ucb
::XContentCreator
;
195 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */