xref: /AOO41X/main/offapi/com/sun/star/ucb/FTPContent.idl (revision 34c958ab2597dc3f66146be0dc1758f0ba5d93f5)
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 OpenOffice 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