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_WebDAVFolderContent_idl__ 24#define __com_sun_star_ucb_WebDAVFolderContent_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#ifndef __com_sun_star_ucb_XContentCreator_idl__ 63#include <com/sun/star/ucb/XContentCreator.idl> 64#endif 65 66//============================================================================= 67 68module com { module sun { module star { module ucb { 69 70//============================================================================= 71/** A DCP Folder is a container for other DCP Folders or Documents. 72 73 @see com::sun::star::ucb::WebDAVContentProvider 74 @see com::sun::star::ucb::WebDAVDocumentContent 75*/ 76published service WebDAVFolderContent 77{ 78 //------------------------------------------------------------------------- 79 /** This interface is implemented according to the specification of 80 service <type>Content</type>. 81 */ 82 interface com::sun::star::lang::XComponent; 83 84 //------------------------------------------------------------------------- 85 /** This interface is implemented according to the specification of 86 service <type>Content</type>. 87 */ 88 interface com::sun::star::ucb::XContent; 89 90 //------------------------------------------------------------------------- 91 /** This interface is implemented according to the specification of 92 service <type>Content</type>. 93 94 <p> 95 96 <b>Supported Commands</b> 97 <ul> 98 <li> 99 getCommandInfo 100 </li> 101 <li> 102 getPropertySetInfo 103 </li> 104 <li> 105 getPropertyValues 106 </li> 107 <li> 108 setPropertyValues 109 </li> 110 <li> 111 insert ( makes a newly created folder persistent ) 112 </li> 113 <li> 114 delete 115 </li> 116 <li> 117 open 118 </li> 119 <li> 120 transfer ( only transfers from DCP Folders/DCP Documents to other 121 DCP folders. Source and target must recide on the same server. ) 122 </li> 123 </ul> 124 125 <b>Supported Properties</b> 126 <ul> 127 <li> 128 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" ) 129 </li> 130 <li> 131 boolean IsDocument ( read-only, always false ) 132 </li> 133 <li> 134 boolean IsFolder ( read-only, always true ) 135 </li> 136 <li> 137 <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only ) 138 </li> 139 <li> 140 <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only ) 141 </li> 142 <li> 143 string MediaType 144 </li> 145 <li> 146 string Size ( read-only, always zero ) 147 </li> 148 <li> 149 string Title 150 </li> 151 </ul> 152 153 </p> 154 */ 155 interface com::sun::star::ucb::XCommandProcessor; 156 157 //------------------------------------------------------------------------- 158 /** is an enhanced version of <type>XCommandProcessor</type> that has an 159 additional method for releasing command identifiers obtained via 160 <member>XCommandProcessor::createCommandIdentifier</member> to avoid 161 resource leaks. For a detailed description of the problem refer to 162 <member>XCommandProcessor2::releaseCommandIdentifier</member>. 163 164 <p>Where many existing <type>Content</type> implementations do not 165 (yet), every new implementation should support this interface. 166 */ 167 [optional] interface com::sun::star::ucb::XCommandProcessor2; 168 169 //------------------------------------------------------------------------- 170 /** This interface is implemented according to the specification of 171 service <type>Content</type>. 172 */ 173 interface com::sun::star::beans::XPropertiesChangeNotifier; 174 175 //------------------------------------------------------------------------- 176 /** This interface is implemented according to the specification of 177 service <type>Content</type>. 178 */ 179 interface com::sun::star::beans::XPropertyContainer; 180 181 //------------------------------------------------------------------------- 182 /** This interface is implemented according to the specification of 183 service <type>Content</type>. 184 */ 185 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 186 187 //------------------------------------------------------------------------- 188 /** This interface is implemented according to the specification of 189 service <type>Content</type>. 190 */ 191 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 192 193 //------------------------------------------------------------------------- 194 /** This interface is implemented according to the specification of 195 service <type>Content</type>. 196 */ 197 interface com::sun::star::container::XChild; 198 199 //------------------------------------------------------------------------- 200 /** This interface is implemented according to the specification of 201 service <type>Content</type>. 202 203 <p> 204 205 A DCP Folder can create other DCP Folders and DCP Documents. To create 206 a new child of a PCP Folder: 207 208 <ol> 209 <li> 210 Let the parent folder create a new content by calling 211 <member>XContentCreator::createNewContent</member> on it. The content 212 type to use for new folders is 213 "application/vnd.sun.star.webdav-collection". To create a new DCP 214 Document, use the type "application/http-content". 215 </li> 216 <li> 217 Set a title at the new folder / document. ( Let the new child execute 218 the command "setPropertyValues", which sets at least the property 219 "Title" to a non-empty value ). 220 </li> 221 <li> 222 Let the new child ( not the parent! ) execute the command "insert". 223 This will commit the creation process and persist the newly created 224 content on the server. For documents, you need to supply the 225 implementation of an <type scope="com::sun::star::io">XInputStream</type> 226 with the command's parameters, that provides access to the stream data. 227 </li> 228 </ol> 229 230 </p> 231 */ 232 interface com::sun::star::ucb::XContentCreator; 233}; 234 235//============================================================================= 236 237}; }; }; }; 238 239#endif 240