1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
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 .
19 #ifndef __com_sun_star_ucb_FTPContent_idl__
20 #define __com_sun_star_ucb_FTPContent_idl__
22 #include
<com
/sun
/star
/lang
/XComponent.idl
>
23 #include
<com
/sun
/star
/ucb
/XContent.idl
>
24 #include
<com
/sun
/star
/ucb
/XContentCreator.idl
>
25 #include
<com
/sun
/star
/ucb
/XCommandProcessor.idl
>
26 #include
<com
/sun
/star
/beans
/XPropertiesChangeNotifier.idl
>
27 #include
<com
/sun
/star
/beans
/XPropertyContainer.idl
>
28 #include
<com
/sun
/star
/beans
/XPropertySetInfoChangeNotifier.idl
>
29 #include
<com
/sun
/star
/ucb
/XCommandInfoChangeNotifier.idl
>
30 #include
<com
/sun
/star
/container
/XChild.idl
>
33 module com
{ module sun
{ module star
{ module ucb
{
35 /** A FTPContent provides an object representing either a (ftp-server-side)
36 directory object allowing listing of children or a content object providing
37 access to a (ftp-server-side) file.
39 @see com::sun::star::ucb::FTPContentProvider
43 published service FTPContent
45 /** This interface is implemented according to the specification of
48 interface com
::sun
::star
::lang
::XComponent
;
50 /** This interface is implemented according to the specification of
53 interface com
::sun
::star
::ucb
::XContent
;
55 /** This interface is implemented according to the specification of
58 <p>An object representing a directory in the file system is able
59 to create a new object, which in turn can become the representation
60 of a physical file/directory being contained in the initial directory.
61 The precise way is the following:
67 Let the parent folder create a new content by calling
68 XContentCreator::createNewContent() on it. The content
69 type to use for new directories is
70 "application/vnd.sun.staroffice.ftp-folder". To create a new file
71 use the type "application/vnd.sun.staroffice.ftp-file".
72 As return value you get a new file content object.
75 Set a title at the new object by letting it execute
76 the command "setPropertyValues", which sets at least the property
77 "Title" to a non-empty value ).
80 Let the new object ( not the parent! ) execute the command "insert".
81 This will create the corresponding physical file or directory.
82 For files, you need to supply the implementation of
83 an com::sun::star::io::XInputStream with the
84 command's parameters, that provides access to the stream data.
90 interface com
::sun
::star
::ucb
::XContentCreator
;
92 /** This interface is implemented according to the specification of
97 <b>Supported Commands</b>
123 <b>Supported Properties</b>
126 string ContentType ( read-only, either
127 "application/vnd.sun.staroffice.ftp-folder" or
128 "application/vnd.sun.staroffice.ftp-file" )
131 boolean IsDocument ( read-only, always `TRUE` for files, always
132 `FALSE` for directories )
135 boolean IsFolder ( read-only ), always `FALSE` for files, always
136 `TRUE` for directories )
139 boolean IsReadOnly ( read-only attribute )
142 string Title ( file name )
145 hyper Size ( file size )
148 string Title ( file name )
151 com::sun::star::util::DateTimeDateCreated ( read-only )
156 interface com
::sun
::star
::ucb
::XCommandProcessor
;
158 /** This interface is implemented according to the specification of
161 interface com
::sun
::star
::beans
::XPropertiesChangeNotifier
;
163 /** This interface is implemented according to the specification of
166 interface com
::sun
::star
::beans
::XPropertyContainer
;
168 /** This interface is implemented according to the specification of
171 interface com
::sun
::star
::beans
::XPropertySetInfoChangeNotifier
;
173 /** This interface is implemented according to the specification of
176 interface com
::sun
::star
::ucb
::XCommandInfoChangeNotifier
;
178 /** This interface is implemented according to the specification of
181 interface com
::sun
::star
::container
::XChild
;
189 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */