cid#1640468 Dereference after null check
[LibreOffice.git] / offapi / com / sun / star / ucb / WebDAVFolderContent.idl
blobe76f1f3bcc99e946b0cf23817175f3fd39c601b4
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 .
21 module com { module sun { module star { module ucb {
23 /** A DCP Folder is a container for other DCP Folders or Documents.
25 @see com::sun::star::ucb::WebDAVContentProvider
26 @see com::sun::star::ucb::WebDAVDocumentContent
28 published service WebDAVFolderContent
30 /** This interface is implemented according to the specification of
31 service Content.
33 interface com::sun::star::lang::XComponent;
35 /** This interface is implemented according to the specification of
36 service Content.
38 interface com::sun::star::ucb::XContent;
40 /** This interface is implemented according to the specification of
41 service Content.
43 <p>
45 <b>Supported Commands</b>
46 <ul>
47 <li>
48 getCommandInfo
49 </li>
50 <li>
51 getPropertySetInfo
52 </li>
53 <li>
54 getPropertyValues
55 </li>
56 <li>
57 setPropertyValues
58 </li>
59 <li>
60 insert ( makes a newly created folder persistent )
61 </li>
62 <li>
63 delete
64 </li>
65 <li>
66 open
67 </li>
68 <li>
69 transfer ( only transfers from DCP Folders/DCP Documents to other
70 DCP folders. Source and target must reside on the same server. )
71 </li>
72 </ul>
74 <b>Supported Properties</b>
75 <ul>
76 <li>
77 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" )
78 </li>
79 <li>
80 boolean IsDocument ( read-only, always false )
81 </li>
82 <li>
83 boolean IsFolder ( read-only, always true )
84 </li>
85 <li>
86 com::sun::star::util::DateTime DateCreated ( read-only )
87 </li>
88 <li>
89 com::sun::star::util::DateTime DateModified ( read-only )
90 </li>
91 <li>
92 string MediaType
93 </li>
94 <li>
95 string Size ( read-only, always zero )
96 </li>
97 <li>
98 string Title
99 </li>
100 </ul>
102 </p>
104 interface com::sun::star::ucb::XCommandProcessor;
106 /** is an enhanced version of XCommandProcessor that has an
107 additional method for releasing command identifiers obtained via
108 XCommandProcessor::createCommandIdentifier() to avoid
109 resource leaks. For a detailed description of the problem refer to
110 XCommandProcessor2::releaseCommandIdentifier().
112 <p>Where many existing Content implementations do not
113 (yet), every new implementation should support this interface.
115 [optional] interface com::sun::star::ucb::XCommandProcessor2;
117 /** This interface is implemented according to the specification of
118 service Content.
120 interface com::sun::star::beans::XPropertiesChangeNotifier;
122 /** This interface is implemented according to the specification of
123 service Content.
125 interface com::sun::star::beans::XPropertyContainer;
127 /** This interface is implemented according to the specification of
128 service Content.
130 interface com::sun::star::beans::XPropertySetInfoChangeNotifier;
132 /** This interface is implemented according to the specification of
133 service Content.
135 interface com::sun::star::ucb::XCommandInfoChangeNotifier;
137 /** This interface is implemented according to the specification of
138 service Content.
140 interface com::sun::star::container::XChild;
142 /** This interface is implemented according to the specification of
143 service Content.
147 A DCP Folder can create other DCP Folders and DCP Documents. To create
148 a new child of a PCP Folder:
150 <ol>
151 <li>
152 Let the parent folder create a new content by calling
153 XContentCreator::createNewContent() on it. The content
154 type to use for new folders is
155 "application/vnd.sun.star.webdav-collection". To create a new DCP
156 Document, use the type "application/http-content".
157 </li>
158 <li>
159 Set a title at the new folder / document. ( Let the new child execute
160 the command "setPropertyValues", which sets at least the property
161 "Title" to a non-empty value ).
162 </li>
163 <li>
164 Let the new child ( not the parent! ) execute the command "insert".
165 This will commit the creation process and persist the newly created
166 content on the server. For documents, you need to supply the
167 implementation of a com::sun::star::io::XInputStream
168 with the command's parameters, that provides access to the stream data.
169 </li>
170 </ol>
172 </p>
174 interface com::sun::star::ucb::XContentCreator;
178 }; }; }; };
180 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */