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_WebDAVDocumentContent_idl__ 28#define __com_sun_star_ucb_WebDAVDocumentContent_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//============================================================================= 67 68module com { module sun { module star { module ucb { 69 70//============================================================================= 71/** A DCP Document is a container for Document data/content. 72 73 <p>The data/content may be anything, a WebDAV server, like an HTTP server, 74 does not necessarily mandate what type of data/content may be contained 75 within Documents. The type of data/content is defined by the MediaType 76 property which is different from the content type returned from the 77 <member>XContent::getContentType</member> method. The MediaType property 78 is mapped to the equivalent WebDAV property and the WebDAV server calculates 79 the value. 80 81 @see com::sun::star::ucb::WebDAVContentProvider 82 @see com::sun::star::ucb::WebDAVFolderContent 83*/ 84published service WebDAVDocumentContent 85{ 86 //------------------------------------------------------------------------- 87 /** This interface is implemented according to the specification of 88 service <type>Content</type>. 89 */ 90 interface com::sun::star::lang::XComponent; 91 92 //------------------------------------------------------------------------- 93 /** This interface is implemented according to the specification of 94 service <type>Content</type>. 95 */ 96 interface com::sun::star::ucb::XContent; 97 98 //------------------------------------------------------------------------- 99 /** This interface is implemented according to the specification of 100 service <type>Content</type>. 101 102 <p> 103 104 <b>Supported Commands</b> 105 <ul> 106 <li> 107 getCommandInfo 108 </li> 109 <li> 110 getPropertySetInfo 111 </li> 112 <li> 113 getPropertyValues 114 </li> 115 <li> 116 setPropertyValues 117 </li> 118 <li> 119 insert ( makes a newly created document persistent ) 120 </li> 121 <li> 122 delete 123 </li> 124 <li> 125 open 126 </li> 127 <li> 128 post ( Argument: <type>PostCommandArgument2</type> - does a HTTP POST ) 129 </li> 130 </ul> 131 132 <b>Supported Properties</b> 133 <ul> 134 <li> 135 string ContentType ( read-only, always "application/http-content" ) 136 </li> 137 <li> 138 boolean IsDocument ( read-only, always true ) 139 </li> 140 <li> 141 boolean IsFolder ( read-only, always false ) 142 </li> 143 <li> 144 <type scope="com::sun::star::util">DateTime</type> DateCreated ( read-only ) 145 </li> 146 <li> 147 <type scope="com::sun::star::util">DateTime</type> DateModified ( read-only ) 148 </li> 149 <li> 150 string MediaType ( read-only, the MIME type - as delivered by the server ) 151 </li> 152 <li> 153 string Size ( read-only ) 154 </li> 155 <li> 156 string Title 157 </li> 158 </ul> 159 160 </p> 161 */ 162 interface com::sun::star::ucb::XCommandProcessor; 163 164 //------------------------------------------------------------------------- 165 /** is an enhanced version of <type>XCommandProcessor</type> that has an 166 additional method for releasing command identifiers obtained via 167 <member>XCommandProcessor::createCommandIdentifier</member> to avoid 168 resource leaks. For a detailed description of the problem refer to 169 <member>XCommandProcessor2::releaseCommandIdentifier</member>. 170 171 <p>Where many existing <type>Content</type> implementations do not 172 (yet), every new implementation should support this interface. 173 */ 174 [optional] interface com::sun::star::ucb::XCommandProcessor2; 175 176 //------------------------------------------------------------------------- 177 /** This interface is implemented according to the specification of 178 service <type>Content</type>. 179 */ 180 interface com::sun::star::beans::XPropertiesChangeNotifier; 181 182 //------------------------------------------------------------------------- 183 /** This interface is implemented according to the specification of 184 service <type>Content</type>. 185 */ 186 interface com::sun::star::beans::XPropertyContainer; 187 188 //------------------------------------------------------------------------- 189 /** This interface is implemented according to the specification of 190 service <type>Content</type>. 191 */ 192 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 193 194 //------------------------------------------------------------------------- 195 /** This interface is implemented according to the specification of 196 service <type>Content</type>. 197 */ 198 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 199 200 //------------------------------------------------------------------------- 201 /** This interface is implemented according to the specification of 202 service <type>Content</type>. 203 */ 204 interface com::sun::star::container::XChild; 205}; 206 207//============================================================================= 208 209}; }; }; }; 210 211#endif 212