xref: /AOO41X/main/offapi/com/sun/star/ucb/WebDAVDocumentContent.idl (revision d1766043198e81d0bcfc626e12893e7b4d7e31ca)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_ucb_WebDAVDocumentContent_idl__
24#define __com_sun_star_ucb_WebDAVDocumentContent_idl__
25
26#ifndef __com_sun_star_lang_XComponent_idl__
27#include <com/sun/star/lang/XComponent.idl>
28#endif
29
30#ifndef __com_sun_star_ucb_XContent_idl__
31#include <com/sun/star/ucb/XContent.idl>
32#endif
33
34#ifndef __com_sun_star_ucb_XCommandProcessor_idl__
35#include <com/sun/star/ucb/XCommandProcessor.idl>
36#endif
37
38#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__
39#include <com/sun/star/ucb/XCommandProcessor2.idl>
40#endif
41
42#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__
43#include <com/sun/star/beans/XPropertiesChangeNotifier.idl>
44#endif
45
46#ifndef __com_sun_star_beans_XPropertyContainer_idl__
47#include <com/sun/star/beans/XPropertyContainer.idl>
48#endif
49
50#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__
51#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl>
52#endif
53
54#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__
55#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl>
56#endif
57
58#ifndef __com_sun_star_container_XChild_idl__
59#include <com/sun/star/container/XChild.idl>
60#endif
61
62//=============================================================================
63
64module com { module sun { module star { module ucb {
65
66//=============================================================================
67/** A DCP Document is a container for Document data/content.
68
69    <p>The data/content may be anything, a WebDAV server, like an HTTP server,
70    does not necessarily mandate what type of data/content may be contained
71    within Documents. The type of data/content is defined by the MediaType
72    property which is different from the content type returned from the
73    <member>XContent::getContentType</member> method. The MediaType property
74    is mapped to the equivalent WebDAV property and the WebDAV server calculates
75    the value.
76
77    @see com::sun::star::ucb::WebDAVContentProvider
78    @see com::sun::star::ucb::WebDAVFolderContent
79*/
80published service WebDAVDocumentContent
81{
82    //-------------------------------------------------------------------------
83    /** This interface is implemented according to the specification of
84        service <type>Content</type>.
85     */
86    interface com::sun::star::lang::XComponent;
87
88    //-------------------------------------------------------------------------
89    /** This interface is implemented according to the specification of
90        service <type>Content</type>.
91     */
92    interface com::sun::star::ucb::XContent;
93
94    //-------------------------------------------------------------------------
95    /** This interface is implemented according to the specification of
96        service <type>Content</type>.
97
98        <p>
99
100        <b>Supported Commands</b>
101        <ul>
102        <li>
103        getCommandInfo
104        </li>
105        <li>
106        getPropertySetInfo
107        </li>
108        <li>
109        getPropertyValues
110        </li>
111        <li>
112        setPropertyValues
113        </li>
114        <li>
115        insert ( makes a newly created document persistent )
116        </li>
117        <li>
118        delete
119        </li>
120        <li>
121        open
122        </li>
123        <li>
124        post ( Argument: <type>PostCommandArgument2</type> - does a HTTP POST )
125        </li>
126        </ul>
127
128        <b>Supported Properties</b>
129        <ul>
130        <li>
131        string ContentType ( read-only, always "application/http-content" )
132        </li>
133        <li>
134        boolean IsDocument ( read-only, always true )
135        </li>
136        <li>
137        boolean IsFolder ( read-only, always false )
138        </li>
139        <li>
140        <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only )
141        </li>
142        <li>
143        <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only )
144        </li>
145        <li>
146        string MediaType ( read-only, the MIME type - as delivered by the server )
147        </li>
148        <li>
149        string Size ( read-only )
150        </li>
151        <li>
152        string Title
153        </li>
154        </ul>
155
156        </p>
157     */
158    interface com::sun::star::ucb::XCommandProcessor;
159
160    //-------------------------------------------------------------------------
161    /** is an enhanced version of <type>XCommandProcessor</type> that has an
162        additional method for releasing command identifiers obtained via
163        <member>XCommandProcessor::createCommandIdentifier</member> to avoid
164        resource leaks. For a detailed description of the problem refer to
165        <member>XCommandProcessor2::releaseCommandIdentifier</member>.
166
167        <p>Where many existing <type>Content</type> implementations do not
168        (yet), every new implementation should support this interface.
169     */
170    [optional] interface com::sun::star::ucb::XCommandProcessor2;
171
172    //-------------------------------------------------------------------------
173    /** This interface is implemented according to the specification of
174        service <type>Content</type>.
175     */
176    interface com::sun::star::beans::XPropertiesChangeNotifier;
177
178    //-------------------------------------------------------------------------
179    /** This interface is implemented according to the specification of
180        service <type>Content</type>.
181     */
182    interface com::sun::star::beans::XPropertyContainer;
183
184    //-------------------------------------------------------------------------
185    /** This interface is implemented according to the specification of
186        service <type>Content</type>.
187     */
188    interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
189
190    //-------------------------------------------------------------------------
191    /** This interface is implemented according to the specification of
192        service <type>Content</type>.
193     */
194    interface com::sun::star::ucb::XCommandInfoChangeNotifier;
195
196    //-------------------------------------------------------------------------
197    /** This interface is implemented according to the specification of
198        service <type>Content</type>.
199     */
200    interface com::sun::star::container::XChild;
201};
202
203//=============================================================================
204
205}; }; }; };
206
207#endif
208