1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__
24cdf0e10cSrcweir#define __com_sun_star_ucb_WebDAVFolderContent_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_lang_XComponent_idl__
27cdf0e10cSrcweir#include <com/sun/star/lang/XComponent.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir
30cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XContent_idl__
31cdf0e10cSrcweir#include <com/sun/star/ucb/XContent.idl>
32cdf0e10cSrcweir#endif
33cdf0e10cSrcweir
34cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
35cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandProcessor.idl>
36cdf0e10cSrcweir#endif
37cdf0e10cSrcweir
38cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
39cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandProcessor2.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir
42cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
43cdf0e10cSrcweir#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
44cdf0e10cSrcweir#endif
45cdf0e10cSrcweir
46cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertyContainer_idl__
47cdf0e10cSrcweir#include <com/sun/star/beans/XPropertyContainer.idl>
48cdf0e10cSrcweir#endif
49cdf0e10cSrcweir
50cdf0e10cSrcweir#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
51cdf0e10cSrcweir#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
52cdf0e10cSrcweir#endif
53cdf0e10cSrcweir
54cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
55cdf0e10cSrcweir#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
56cdf0e10cSrcweir#endif
57cdf0e10cSrcweir
58cdf0e10cSrcweir#ifndef __com_sun_star_container_XChild_idl__
59cdf0e10cSrcweir#include <com/sun/star/container/XChild.idl>
60cdf0e10cSrcweir#endif
61cdf0e10cSrcweir
62cdf0e10cSrcweir#ifndef __com_sun_star_ucb_XContentCreator_idl__
63cdf0e10cSrcweir#include <com/sun/star/ucb/XContentCreator.idl>
64cdf0e10cSrcweir#endif
65cdf0e10cSrcweir
66cdf0e10cSrcweir//=============================================================================
67cdf0e10cSrcweir
68cdf0e10cSrcweirmodule com { module sun { module star { module ucb {
69cdf0e10cSrcweir
70cdf0e10cSrcweir//=============================================================================
71cdf0e10cSrcweir/** A DCP Folder is a container for other DCP Folders or Documents.
72cdf0e10cSrcweir
73cdf0e10cSrcweir	@see com::sun::star::ucb::WebDAVContentProvider
74cdf0e10cSrcweir	@see com::sun::star::ucb::WebDAVDocumentContent
75cdf0e10cSrcweir*/
76cdf0e10cSrcweirpublished service WebDAVFolderContent
77cdf0e10cSrcweir{
78cdf0e10cSrcweir	//-------------------------------------------------------------------------
79cdf0e10cSrcweir	/** This interface is implemented according to the specification of
80cdf0e10cSrcweir		service <type>Content</type>.
81cdf0e10cSrcweir	 */
82cdf0e10cSrcweir	interface com::sun::star::lang::XComponent;
83cdf0e10cSrcweir
84cdf0e10cSrcweir	//-------------------------------------------------------------------------
85cdf0e10cSrcweir	/** This interface is implemented according to the specification of
86cdf0e10cSrcweir		service <type>Content</type>.
87cdf0e10cSrcweir	 */
88cdf0e10cSrcweir	interface com::sun::star::ucb::XContent;
89cdf0e10cSrcweir
90cdf0e10cSrcweir	//-------------------------------------------------------------------------
91cdf0e10cSrcweir	/** This interface is implemented according to the specification of
92cdf0e10cSrcweir		service <type>Content</type>.
93cdf0e10cSrcweir
94cdf0e10cSrcweir		<p>
95cdf0e10cSrcweir
96cdf0e10cSrcweir		<b>Supported Commands</b>
97cdf0e10cSrcweir		<ul>
98cdf0e10cSrcweir		<li>
99cdf0e10cSrcweir		getCommandInfo
100cdf0e10cSrcweir		</li>
101cdf0e10cSrcweir		<li>
102cdf0e10cSrcweir		getPropertySetInfo
103cdf0e10cSrcweir		</li>
104cdf0e10cSrcweir		<li>
105cdf0e10cSrcweir		getPropertyValues
106cdf0e10cSrcweir		</li>
107cdf0e10cSrcweir		<li>
108cdf0e10cSrcweir		setPropertyValues
109cdf0e10cSrcweir		</li>
110cdf0e10cSrcweir		<li>
111cdf0e10cSrcweir		insert ( makes a newly created folder persistent )
112cdf0e10cSrcweir		</li>
113cdf0e10cSrcweir		<li>
114cdf0e10cSrcweir		delete
115cdf0e10cSrcweir		</li>
116cdf0e10cSrcweir		<li>
117cdf0e10cSrcweir		open
118cdf0e10cSrcweir		</li>
119cdf0e10cSrcweir		<li>
120cdf0e10cSrcweir		transfer ( only transfers from DCP Folders/DCP Documents to other
121*a893be29SPedro Giffuni		DCP folders. Source and target must reside on the same server. )
122cdf0e10cSrcweir		</li>
123cdf0e10cSrcweir		</ul>
124cdf0e10cSrcweir
125cdf0e10cSrcweir		<b>Supported Properties</b>
126cdf0e10cSrcweir		<ul>
127cdf0e10cSrcweir		<li>
128cdf0e10cSrcweir		string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
129cdf0e10cSrcweir		</li>
130cdf0e10cSrcweir		<li>
131cdf0e10cSrcweir		boolean IsDocument ( read-only, always false )
132cdf0e10cSrcweir		</li>
133cdf0e10cSrcweir		<li>
134cdf0e10cSrcweir		boolean IsFolder ( read-only, always true )
135cdf0e10cSrcweir		</li>
136cdf0e10cSrcweir		<li>
137cdf0e10cSrcweir		<type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
138cdf0e10cSrcweir		</li>
139cdf0e10cSrcweir		<li>
140cdf0e10cSrcweir		<type scope="com::sun::star::util">DateTime</type> DateModified ( read-only )
141cdf0e10cSrcweir		</li>
142cdf0e10cSrcweir		<li>
143cdf0e10cSrcweir		string MediaType
144cdf0e10cSrcweir		</li>
145cdf0e10cSrcweir		<li>
146cdf0e10cSrcweir		string Size ( read-only, always zero )
147cdf0e10cSrcweir		</li>
148cdf0e10cSrcweir		<li>
149cdf0e10cSrcweir		string Title
150cdf0e10cSrcweir		</li>
151cdf0e10cSrcweir		</ul>
152cdf0e10cSrcweir
153cdf0e10cSrcweir		</p>
154cdf0e10cSrcweir	 */
155cdf0e10cSrcweir	interface com::sun::star::ucb::XCommandProcessor;
156cdf0e10cSrcweir
157cdf0e10cSrcweir    //-------------------------------------------------------------------------
158cdf0e10cSrcweir    /** is an enhanced version of <type>XCommandProcessor</type> that has an
159cdf0e10cSrcweir        additional method for releasing command identifiers obtained via
160cdf0e10cSrcweir        <member>XCommandProcessor::createCommandIdentifier</member> to avoid
161cdf0e10cSrcweir        resource leaks. For a detailed description of the problem refer to
162cdf0e10cSrcweir        <member>XCommandProcessor2::releaseCommandIdentifier</member>.
163cdf0e10cSrcweir
164cdf0e10cSrcweir        <p>Where many existing <type>Content</type> implementations do not
165cdf0e10cSrcweir        (yet), every new implementation should support this interface.
166cdf0e10cSrcweir     */
167cdf0e10cSrcweir    [optional] interface com::sun::star::ucb::XCommandProcessor2;
168cdf0e10cSrcweir
169cdf0e10cSrcweir	//-------------------------------------------------------------------------
170cdf0e10cSrcweir	/** This interface is implemented according to the specification of
171cdf0e10cSrcweir		service <type>Content</type>.
172cdf0e10cSrcweir	 */
173cdf0e10cSrcweir	interface com::sun::star::beans::XPropertiesChangeNotifier;
174cdf0e10cSrcweir
175cdf0e10cSrcweir	//-------------------------------------------------------------------------
176cdf0e10cSrcweir	/** This interface is implemented according to the specification of
177cdf0e10cSrcweir		service <type>Content</type>.
178cdf0e10cSrcweir	 */
179cdf0e10cSrcweir	interface com::sun::star::beans::XPropertyContainer;
180cdf0e10cSrcweir
181cdf0e10cSrcweir	//-------------------------------------------------------------------------
182cdf0e10cSrcweir	/** This interface is implemented according to the specification of
183cdf0e10cSrcweir		service <type>Content</type>.
184cdf0e10cSrcweir	 */
185cdf0e10cSrcweir	interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
186cdf0e10cSrcweir
187cdf0e10cSrcweir	//-------------------------------------------------------------------------
188cdf0e10cSrcweir	/** This interface is implemented according to the specification of
189cdf0e10cSrcweir		service <type>Content</type>.
190cdf0e10cSrcweir	 */
191cdf0e10cSrcweir	interface com::sun::star::ucb::XCommandInfoChangeNotifier;
192cdf0e10cSrcweir
193cdf0e10cSrcweir	//-------------------------------------------------------------------------
194cdf0e10cSrcweir	/** This interface is implemented according to the specification of
195cdf0e10cSrcweir		service <type>Content</type>.
196cdf0e10cSrcweir	 */
197cdf0e10cSrcweir	interface com::sun::star::container::XChild;
198cdf0e10cSrcweir
199cdf0e10cSrcweir	//-------------------------------------------------------------------------
200cdf0e10cSrcweir	/** This interface is implemented according to the specification of
201cdf0e10cSrcweir		service <type>Content</type>.
202cdf0e10cSrcweir
203cdf0e10cSrcweir		<p>
204cdf0e10cSrcweir
205cdf0e10cSrcweir		A DCP Folder can create other DCP Folders and DCP Documents. To create
206cdf0e10cSrcweir		a new child of a PCP Folder:
207cdf0e10cSrcweir
208cdf0e10cSrcweir		<ol>
209cdf0e10cSrcweir		<li>
210cdf0e10cSrcweir		Let the parent folder create a new content by calling
211cdf0e10cSrcweir		<member>XContentCreator::createNewContent</member> on it. The content
212cdf0e10cSrcweir		type to use for new folders is
213cdf0e10cSrcweir		"application/vnd.sun.star.webdav-collection". To create a new DCP
214cdf0e10cSrcweir		Document, use the type "application/http-content".
215cdf0e10cSrcweir		</li>
216cdf0e10cSrcweir		<li>
217cdf0e10cSrcweir		Set a title at the new folder / document. ( Let the new child execute
218cdf0e10cSrcweir		the command "setPropertyValues", which sets at least the property
219cdf0e10cSrcweir		"Title" to a non-empty value ).
220cdf0e10cSrcweir		</li>
221cdf0e10cSrcweir		<li>
222cdf0e10cSrcweir		Let the new child ( not the parent! ) execute the command "insert".
223cdf0e10cSrcweir		This will commit the creation process and persist the newly created
224cdf0e10cSrcweir		content on the server. For documents, you need to supply the
225cdf0e10cSrcweir		implementation of an <type scope="com::sun::star::io">XInputStream</type>
226cdf0e10cSrcweir		with the command's parameters, that provides access to the stream data.
227cdf0e10cSrcweir		</li>
228cdf0e10cSrcweir		</ol>
229cdf0e10cSrcweir
230cdf0e10cSrcweir		</p>
231cdf0e10cSrcweir	 */
232cdf0e10cSrcweir	interface com::sun::star::ucb::XContentCreator;
233cdf0e10cSrcweir};
234cdf0e10cSrcweir
235cdf0e10cSrcweir//=============================================================================
236cdf0e10cSrcweir
237cdf0e10cSrcweir}; }; }; };
238cdf0e10cSrcweir
239cdf0e10cSrcweir#endif
240