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_FTPContent_idl__ 24#define __com_sun_star_ucb_FTPContent_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_XContentCreator_idl__ 35#include <com/sun/star/ucb/XContentCreator.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_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//============================================================================= 63 64module com { module sun { module star { module ucb { 65 66//============================================================================= 67/** A FTPContent provides an object representing either a (ftp-server-side) 68 directory object allowing listing of children or a content object providing 69 access to a (ftp-server-side) file. 70 71 @see com::sun::star::ucb::FTPContentProvider 72 73 @since OOo 1.1.2 74*/ 75published service FTPContent 76{ 77 //------------------------------------------------------------------------- 78 /** This interface is implemented according to the specification of 79 service <type>Content</type>. 80 */ 81 interface com::sun::star::lang::XComponent; 82 83 //------------------------------------------------------------------------- 84 /** This interface is implemented according to the specification of 85 service <type>Content</type>. 86 */ 87 interface com::sun::star::ucb::XContent; 88 89 //------------------------------------------------------------------------- 90 /** This interface is implemented according to the specification of 91 service <type>Content</type>. 92 93 <p>An object representing a directory in the file system is able 94 to create a new object, which in turn can become the representation 95 of a physical file/directory being contained in the initial directory. 96 The precise way is the following: 97 98 <p> 99 100 <ol> 101 <li> 102 Let the parent folder create a new content by calling 103 <member>XContentCreator::createNewContent</member> on it. The content 104 type to use for new directories is 105 "application/vnd.sun.staroffice.ftp-folder". To create a new file 106 use the type "application/vnd.sun.staroffice.ftp-file". 107 As return value you get a new file content object. 108 </li> 109 <li> 110 Set a title at the new object by letting it execute 111 the command "setPropertyValues", which sets at least the property 112 "Title" to a non-empty value ). 113 </li> 114 <li> 115 Let the new object ( not the parent! ) execute the command "insert". 116 This will create the corresponding physical file or directory. 117 For files, you need to supply the implementation of 118 an <type scope="com::sun::star::io">XInputStream</type> with the 119 command's parameters, that provides access to the stream data. 120 </li> 121 </ol> 122 123 </p> 124 */ 125 interface com::sun::star::ucb::XContentCreator; 126 127 //------------------------------------------------------------------------- 128 /** This interface is implemented according to the specification of 129 service <type>Content</type>. 130 131 <p> 132 133 <b>Supported Commands</b> 134 135 <ul> 136 <li> 137 getCommandInfo 138 </li> 139 <li> 140 getPropertySetInfo 141 </li> 142 <li> 143 getPropertyValues 144 </li> 145 <li> 146 setPropertyValues 147 </li> 148 <li> 149 open 150 </li> 151 <li> 152 insert 153 </li> 154 <li> 155 delete 156 </li> 157 </ul> 158 159 <b>Supported Properties</b> 160 <ul> 161 <li> 162 string ContentType ( read-only, either 163 "application/vnd.sun.staroffice.ftp-folder" or 164 "application/vnd.sun.staroffice.ftp-file" ) 165 </li> 166 <li> 167 boolean IsDocument ( read-only, always <true/> for files, always 168 <false/> for directories ) 169 </li> 170 <li> 171 boolean IsFolder ( read-only ), always <false/> for files, always 172 <true/> for directories ) 173 </li> 174 <li> 175 boolean IsReadOnly ( read-only attribute ) 176 </li> 177 <li> 178 string Title ( file name ) 179 </li> 180 <li> 181 hyper Size ( file size ) 182 </li> 183 <li> 184 string Title ( file name ) 185 </li> 186 <li> 187 <type scope="com::sun::star::util">DateTime</type>DateCreated ( read-only ) 188 </li> 189 </ul> 190 </p> 191 */ 192 interface com::sun::star::ucb::XCommandProcessor; 193 194 //------------------------------------------------------------------------- 195 /** This interface is implemented according to the specification of 196 service <type>Content</type>. 197 */ 198 interface com::sun::star::beans::XPropertiesChangeNotifier; 199 200 //------------------------------------------------------------------------- 201 /** This interface is implemented according to the specification of 202 service <type>Content</type>. 203 */ 204 interface com::sun::star::beans::XPropertyContainer; 205 206 //------------------------------------------------------------------------- 207 /** This interface is implemented according to the specification of 208 service <type>Content</type>. 209 */ 210 interface com::sun::star::beans::XPropertySetInfoChangeNotifier; 211 212 //------------------------------------------------------------------------- 213 /** This interface is implemented according to the specification of 214 service <type>Content</type>. 215 */ 216 interface com::sun::star::ucb::XCommandInfoChangeNotifier; 217 218 //------------------------------------------------------------------------- 219 /** This interface is implemented according to the specification of 220 service <type>Content</type>. 221 */ 222 interface com::sun::star::container::XChild; 223}; 224 225//============================================================================= 226 227}; }; }; }; 228 229#endif 230