Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / ucb / WebDAVFolderContent.idl
blob0c762a61a26d25316b07d04b6c00f33d5605ad81
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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
44 service Content.
46 interface com::sun::star::lang::XComponent;
48 /** This interface is implemented according to the specification of
49 service Content.
51 interface com::sun::star::ucb::XContent;
53 /** This interface is implemented according to the specification of
54 service Content.
56 <p>
58 <b>Supported Commands</b>
59 <ul>
60 <li>
61 getCommandInfo
62 </li>
63 <li>
64 getPropertySetInfo
65 </li>
66 <li>
67 getPropertyValues
68 </li>
69 <li>
70 setPropertyValues
71 </li>
72 <li>
73 insert ( makes a newly created folder persistent )
74 </li>
75 <li>
76 delete
77 </li>
78 <li>
79 open
80 </li>
81 <li>
82 transfer ( only transfers from DCP Folders/DCP Documents to other
83 DCP folders. Source and target must reside on the same server. )
84 </li>
85 </ul>
87 <b>Supported Properties</b>
88 <ul>
89 <li>
90 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
91 </li>
92 <li>
93 boolean IsDocument ( read-only, always false )
94 </li>
95 <li>
96 boolean IsFolder ( read-only, always true )
97 </li>
98 <li>
99 com::sun::star::util::DateTime DateCreated ( read-only )
100 </li>
101 <li>
102 com::sun::star::util::DateTime DateModified ( read-only )
103 </li>
104 <li>
105 string MediaType
106 </li>
107 <li>
108 string Size ( read-only, always zero )
109 </li>
110 <li>
111 string Title
112 </li>
113 </ul>
115 </p>
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
131 service Content.
133 interface com::sun::star::beans::XPropertiesChangeNotifier;
135 /** This interface is implemented according to the specification of
136 service Content.
138 interface com::sun::star::beans::XPropertyContainer;
140 /** This interface is implemented according to the specification of
141 service Content.
143 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
145 /** This interface is implemented according to the specification of
146 service Content.
148 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
150 /** This interface is implemented according to the specification of
151 service Content.
153 interface com::sun::star::container::XChild;
155 /** This interface is implemented according to the specification of
156 service Content.
160 A DCP Folder can create other DCP Folders and DCP Documents. To create
161 a new child of a PCP Folder:
163 <ol>
164 <li>
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".
170 </li>
171 <li>
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 ).
175 </li>
176 <li>
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.
182 </li>
183 </ol>
185 </p>
187 interface com::sun::star::ucb::XContentCreator;
191 }; }; }; };
193 #endif
195 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */