xref: /trunk/main/offapi/com/sun/star/embed/ElementModes.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#ifndef __com_sun_star_embed_ElementModes_idl__
28#define __com_sun_star_embed_ElementModes_idl__
29
30
31//============================================================================
32
33module com { module sun { module star { module embed {
34
35//============================================================================
36/** The constant set contains possible modes to open an element.
37
38    <p>
39    The modes can be combined by 'or' operation.
40    <const>ElementModes::READ</const> and <const>ElementModes::WRITE</const>
41    are base modes. A result mode must include one of base modes.
42    </p>
43
44    @see <type>XStorage</type>
45*/
46published constants ElementModes
47{
48    //------------------------------------------------------------------------
49    /** specifies opening of an element for reading.
50     */
51    const long READ = 1;
52
53    //------------------------------------------------------------------------
54    /** specifies opening of a seekable element.
55
56        <p>
57        This mode is ignored for <type>Storage</type> elements.
58        This flag makes sence only in combination with
59        <const>ElementModes::READ</const> and/or
60        <const>ElementModes::WRITE</const>.
61        </p>
62     */
63    const long SEEKABLE = 2;
64
65    //------------------------------------------------------------------------
66    /** specifies opening of a seekable element for reading.
67
68        <p>
69        This is just a combination of the previous two values. For storages
70        it is the same as <const>ElementModes::READ</const>.
71        </p>
72     */
73    const long SEEKABLEREAD = 3;
74
75    //------------------------------------------------------------------------
76    /** specifies opening of an element for writing.
77     */
78    const long WRITE = 4;
79
80    //------------------------------------------------------------------------
81    /** specifies opening of an element for reading and writing.
82
83        <p>
84        For a stream element is also specifies that it must be seekable.
85        </p>
86     */
87    const long READWRITE = 7;
88
89    //------------------------------------------------------------------------
90    /** lets the document be truncated immediatelly after opening.
91
92        <p>
93        This flag makes sence only in combination with
94        <const>ElementModes::WRITE</const>.
95        </p>
96     */
97    const long TRUNCATE = 8;
98
99    //------------------------------------------------------------------------
100    /** restricts creation of a new element on opening in case a requested one
101        does not exist.
102
103        <p>
104        This flag makes sence only in combination with
105        <const>ElementModes::WRITE</const>.
106        </p>
107     */
108    const long NOCREATE = 16;
109};
110
111//============================================================================
112
113}; }; }; };
114
115#endif
116
117