xref: /AOO41X/main/offapi/com/sun/star/embed/FileSystemStorage.idl (revision d1766043198e81d0bcfc626e12893e7b4d7e31ca)
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
24#ifndef __com_sun_star_embed_FileSystemStorage_idl__
25#define __com_sun_star_embed_FileSystemStorage_idl__
26
27#ifndef __com_sun_star_embed_BaseStorage_idl__
28#include <com/sun/star/embed/BaseStorage.idl>
29#endif
30
31//============================================================================
32
33 module com {  module sun {  module star {  module embed {
34
35//============================================================================
36/** This is a service that allows to get access to a file system folder using
37    storage hierarchy.
38 */
39published service FileSystemStorage
40{
41    // -----------------------------------------------------------------------
42    /** This service describes the base functionality of storages.
43
44        <p>
45        Please see below the description of additional requirements for the
46        file system storage implementation.
47        </p>
48
49        <dl>
50            <dt>interface <type scope="com::sun::star::lang">XComponent</type>
51            </dt>
52            <dd>
53                <p>
54                A file system storage is created either by
55                <type>StorageFactory</type> or by <type>XStorage</type>
56                interface and is controlled by refcounting. In case
57                refcounting is decreased to zero the storage will be
58                disposed automatically.
59                </p>
60
61                <p>
62                In case a storage object is disposed the elements
63                ( substorages and substreams ) are not affected.
64                </p>
65            </dd>
66            <dt>interface <type>XStorage</type></dt>
67            <dd>
68                <dl>
69                    <dt><method>XStorage::openStorageElement</method></dt>
70                    <dd>
71                        This method returns <type>FileSystemStorage</type>
72                        service implementation.
73                    </dd>
74
75                    <dt><method>XStorage::copyLastCommitTo</method></dt>
76                    <dd>
77                        Since this service implementation supports no transaction
78                        this method just creates a copy of the storage in it's
79                        current state.
80                    </dd>
81
82                    <dt><method>XStorage::copyStorageElementLastCommitTo</method></dt>
83                    <dd>
84                        Since this service implementation supports no transaction
85                        this method just creates a copy of the storage in it's
86                        current state.
87                    </dd>
88
89                    <dt><method>XStorage::removeStorageElement</method></dt>
90                    <dd>
91                        If the element is opened and it is a stream element
92                        the removing will fail. If the element is opened and
93                        it is a storage element, all the contents that can be
94                        removed will be removed.
95                    </dd>
96                </dl>
97            </dd>
98            <dt>property URL</dt>
99            <dd>
100                This property is not optional for this service.
101            </dd>
102        </dl>
103
104     */
105    service BaseStorage;
106};
107
108//============================================================================
109
110}; }; }; };
111
112#endif
113
114