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