Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / ucb / WebDAVDocumentContent.idl
blob495c47866392b036abd7958a12357852dd0a3baa
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_WebDAVDocumentContent_idl__
20 #define __com_sun_star_ucb_WebDAVDocumentContent_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>
33 module com { module sun { module star { module ucb {
35 /** A DCP Document is a container for Document data/content.
37 <p>The data/content may be anything, a WebDAV server, like an HTTP server,
38 does not necessarily mandate what type of data/content may be contained
39 within Documents. The type of data/content is defined by the MediaType
40 property which is different from the content type returned from the
41 XContent::getContentType() method. The MediaType property
42 is mapped to the equivalent WebDAV property and the WebDAV server calculates
43 the value.
45 @see com::sun::star::ucb::WebDAVContentProvider
46 @see com::sun::star::ucb::WebDAVFolderContent
48 published service WebDAVDocumentContent
50 /** This interface is implemented according to the specification of
51 service Content.
53 interface com::sun::star::lang::XComponent;
55 /** This interface is implemented according to the specification of
56 service Content.
58 interface com::sun::star::ucb::XContent;
60 /** This interface is implemented according to the specification of
61 service Content.
63 <p>
65 <b>Supported Commands</b>
66 <ul>
67 <li>
68 getCommandInfo
69 </li>
70 <li>
71 getPropertySetInfo
72 </li>
73 <li>
74 getPropertyValues
75 </li>
76 <li>
77 setPropertyValues
78 </li>
79 <li>
80 insert ( makes a newly created document persistent )
81 </li>
82 <li>
83 delete
84 </li>
85 <li>
86 open
87 </li>
88 <li>
89 post ( Argument: PostCommandArgument2 - does a HTTP POST )
90 </li>
91 </ul>
93 <b>Supported Properties</b>
94 <ul>
95 <li>
96 string ContentType ( read-only, always "application/http-content" )
97 </li>
98 <li>
99 boolean IsDocument ( read-only, always true )
100 </li>
101 <li>
102 boolean IsFolder ( read-only, always false )
103 </li>
104 <li>
105 com::sun::star::util::DateTime DateCreated ( read-only )
106 </li>
107 <li>
108 com::sun::star::util::DateTime DateModified ( read-only )
109 </li>
110 <li>
111 string MediaType ( read-only, the MIME type - as delivered by the server )
112 </li>
113 <li>
114 string Size ( read-only )
115 </li>
116 <li>
117 string Title
118 </li>
119 </ul>
121 </p>
123 interface com::sun::star::ucb::XCommandProcessor;
125 /** is an enhanced version of XCommandProcessor that has an
126 additional method for releasing command identifiers obtained via
127 XCommandProcessor::createCommandIdentifier() to avoid
128 resource leaks. For a detailed description of the problem refer to
129 XCommandProcessor2::releaseCommandIdentifier().
131 <p>Where many existing Content implementations do not
132 (yet), every new implementation should support this interface.
134 [optional] interface com::sun::star::ucb::XCommandProcessor2;
136 /** This interface is implemented according to the specification of
137 service Content.
139 interface com::sun::star::beans::XPropertiesChangeNotifier;
141 /** This interface is implemented according to the specification of
142 service Content.
144 interface com::sun::star::beans::XPropertyContainer;
146 /** This interface is implemented according to the specification of
147 service Content.
149 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
151 /** This interface is implemented according to the specification of
152 service Content.
154 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
156 /** This interface is implemented according to the specification of
157 service Content.
159 interface com::sun::star::container::XChild;
163 }; }; }; };
165 #endif
167 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */