1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_ucb_WebDAVFolderContent_idl__ 28#define __com_sun_star_ucb_WebDAVFolderContent_idl__ 29 30#ifndef __com_sun_star_lang_XComponent_idl__ 31#include <com/sun/star/lang/XComponent.idl> 32#endif 33 34#ifndef __com_sun_star_ucb_XContent_idl__ 35#include <com/sun/star/ucb/XContent.idl> 36#endif 37 38#ifndef __com_sun_star_ucb_XCommandProcessor_idl__ 39#include <com/sun/star/ucb/XCommandProcessor.idl> 40#endif 41 42#ifndef __com_sun_star_ucb_XCommandProcessor2_idl__ 43#include <com/sun/star/ucb/XCommandProcessor2.idl> 44#endif 45 46#ifndef __com_sun_star_beans_XPropertiesChangeNotifier_idl__ 47#include <com/sun/star/beans/XPropertiesChangeNotifier.idl> 48#endif 49 50#ifndef __com_sun_star_beans_XPropertyContainer_idl__ 51#include <com/sun/star/beans/XPropertyContainer.idl> 52#endif 53 54#ifndef __com_sun_star_beans_XPropertySetInfoChangeNotifier_idl__ 55#include <com/sun/star/beans/XPropertySetInfoChangeNotifier.idl> 56#endif 57 58#ifndef __com_sun_star_ucb_XCommandInfoChangeNotifier_idl__ 59#include <com/sun/star/ucb/XCommandInfoChangeNotifier.idl> 60#endif 61 62#ifndef __com_sun_star_container_XChild_idl__ 63#include <com/sun/star/container/XChild.idl> 64#endif 65 66#ifndef __com_sun_star_ucb_XContentCreator_idl__ 67#include <com/sun/star/ucb/XContentCreator.idl> 68#endif 69 70//============================================================================= 71 72module com { module sun { module star { module ucb { 73 74//============================================================================= 75/** A DCP Folder is a container for other DCP Folders or Documents. 76 77 @see com::sun::star::ucb::WebDAVContentProvider 78 @see com::sun::star::ucb::WebDAVDocumentContent 79*/ 80published service WebDAVFolderContent 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 folder persistent ) 116 </li> 117 <li> 118 delete 119 </li> 120 <li> 121 open 122 </li> 123 <li> 124 transfer ( only transfers from DCP Folders/DCP Documents to other 125 DCP folders. Source and target must recide on the same server. ) 126 </li> 127 </ul> 128 129 <b>Supported Properties</b> 130 <ul> 131 <li> 132 string ContentType ( read-only, always "application/vnd.sun.star.webdav-collection" ) 133 </li> 134 <li> 135 boolean IsDocument ( read-only, always false ) 136 </li> 137 <li> 138 boolean IsFolder ( read-only, always true ) 139 </li> 140 <li> 141 <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only ) 142 </li> 143 <li> 144 <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only ) 145 </li> 146 <li> 147 string MediaType 148 </li> 149 <li> 150 string Size ( read-only, always zero ) 151 </li> 152 <li> 153 string Title 154 </li> 155 </ul> 156 157 </p> 158 */ 159 interface com::sun::star::ucb::XCommandProcessor; 160 161 //------------------------------------------------------------------------- 162 /** is an enhanced version of <type>XCommandProcessor</type> that has an 163 additional method for releasing command identifiers obtained via 164 <member>XCommandProcessor::createCommandIdentifier</member> to avoid 165 resource leaks. For a detailed description of the problem refer to 166 <member>XCommandProcessor2::releaseCommandIdentifier</member>. 167 168 <p>Where many existing <type>Content</type> implementations do not 169 (yet), every new implementation should support this interface. 170 */ 171 [optional] interface com::sun::star::ucb::XCommandProcessor2; 172 173 //------------------------------------------------------------------------- 174 /** This interface is implemented according to the specification of 175 service <type>Content</type>. 176 */ 177 interface com::sun::star::beans::XPropertiesChangeNotifier; 178 179 //------------------------------------------------------------------------- 180 /** This interface is implemented according to the specification of 181 service <type>Content</type>. 182 */ 183 interface com::sun::star::beans::XPropertyContainer; 184 185 //------------------------------------------------------------------------- 186 /** This interface is implemented according to the specification of 187 service <type>Content</type>. 188 */ 189 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 190 191 //------------------------------------------------------------------------- 192 /** This interface is implemented according to the specification of 193 service <type>Content</type>. 194 */ 195 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 196 197 //------------------------------------------------------------------------- 198 /** This interface is implemented according to the specification of 199 service <type>Content</type>. 200 */ 201 interface com::sun::star::container::XChild; 202 203 //------------------------------------------------------------------------- 204 /** This interface is implemented according to the specification of 205 service <type>Content</type>. 206 207 <p> 208 209 A DCP Folder can create other DCP Folders and DCP Documents. To create 210 a new child of a PCP Folder: 211 212 <ol> 213 <li> 214 Let the parent folder create a new content by calling 215 <member>XContentCreator::createNewContent</member> on it. The content 216 type to use for new folders is 217 "application/vnd.sun.star.webdav-collection". To create a new DCP 218 Document, use the type "application/http-content". 219 </li> 220 <li> 221 Set a title at the new folder / document. ( Let the new child execute 222 the command "setPropertyValues", which sets at least the property 223 "Title" to a non-empty value ). 224 </li> 225 <li> 226 Let the new child ( not the parent! ) execute the command "insert". 227 This will commit the creation process and persist the newly created 228 content on the server. For documents, you need to supply the 229 implementation of an <type scope="com::sun::star::io">XInputStream</type> 230 with the command's parameters, that provides access to the stream data. 231 </li> 232 </ol> 233 234 </p> 235 */ 236 interface com::sun::star::ucb::XContentCreator; 237}; 238 239//============================================================================= 240 241}; }; }; }; 242 243#endif 244