1*b1cdbd2cSJim Jagielski/**************************************************************
2*b1cdbd2cSJim Jagielski *
3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one
4*b1cdbd2cSJim Jagielski * or more contributor license agreements.  See the NOTICE file
5*b1cdbd2cSJim Jagielski * distributed with this work for additional information
6*b1cdbd2cSJim Jagielski * regarding copyright ownership.  The ASF licenses this file
7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the
8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance
9*b1cdbd2cSJim Jagielski * with the License.  You may obtain a copy of the License at
10*b1cdbd2cSJim Jagielski *
11*b1cdbd2cSJim Jagielski *   http://www.apache.org/licenses/LICENSE-2.0
12*b1cdbd2cSJim Jagielski *
13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing,
14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an
15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*b1cdbd2cSJim Jagielski * KIND, either express or implied.  See the License for the
17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations
18*b1cdbd2cSJim Jagielski * under the License.
19*b1cdbd2cSJim Jagielski *
20*b1cdbd2cSJim Jagielski *************************************************************/
21*b1cdbd2cSJim Jagielski
22*b1cdbd2cSJim Jagielski
23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_embed_ElementModes_idl__
24*b1cdbd2cSJim Jagielski#define __com_sun_star_embed_ElementModes_idl__
25*b1cdbd2cSJim Jagielski
26*b1cdbd2cSJim Jagielski
27*b1cdbd2cSJim Jagielski//============================================================================
28*b1cdbd2cSJim Jagielski
29*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module embed {
30*b1cdbd2cSJim Jagielski
31*b1cdbd2cSJim Jagielski//============================================================================
32*b1cdbd2cSJim Jagielski/** The constant set contains possible modes to open an element.
33*b1cdbd2cSJim Jagielski
34*b1cdbd2cSJim Jagielski	<p>
35*b1cdbd2cSJim Jagielski	The modes can be combined by 'or' operation.
36*b1cdbd2cSJim Jagielski	<const>ElementModes::READ</const> and <const>ElementModes::WRITE</const>
37*b1cdbd2cSJim Jagielski	are base modes. A result mode must include one of base modes.
38*b1cdbd2cSJim Jagielski	</p>
39*b1cdbd2cSJim Jagielski
40*b1cdbd2cSJim Jagielski	@see <type>XStorage</type>
41*b1cdbd2cSJim Jagielski*/
42*b1cdbd2cSJim Jagielskipublished constants ElementModes
43*b1cdbd2cSJim Jagielski{
44*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
45*b1cdbd2cSJim Jagielski	/** specifies opening of an element for reading.
46*b1cdbd2cSJim Jagielski	 */
47*b1cdbd2cSJim Jagielski	const long READ = 1;
48*b1cdbd2cSJim Jagielski
49*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
50*b1cdbd2cSJim Jagielski	/** specifies opening of a seekable element.
51*b1cdbd2cSJim Jagielski
52*b1cdbd2cSJim Jagielski		<p>
53*b1cdbd2cSJim Jagielski		This mode is ignored for <type>Storage</type> elements.
54*b1cdbd2cSJim Jagielski		This flag makes sence only in combination with
55*b1cdbd2cSJim Jagielski		<const>ElementModes::READ</const> and/or
56*b1cdbd2cSJim Jagielski		<const>ElementModes::WRITE</const>.
57*b1cdbd2cSJim Jagielski		</p>
58*b1cdbd2cSJim Jagielski	 */
59*b1cdbd2cSJim Jagielski	const long SEEKABLE = 2;
60*b1cdbd2cSJim Jagielski
61*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
62*b1cdbd2cSJim Jagielski	/** specifies opening of a seekable element for reading.
63*b1cdbd2cSJim Jagielski
64*b1cdbd2cSJim Jagielski		<p>
65*b1cdbd2cSJim Jagielski		This is just a combination of the previous two values. For storages
66*b1cdbd2cSJim Jagielski		it is the same as <const>ElementModes::READ</const>.
67*b1cdbd2cSJim Jagielski		</p>
68*b1cdbd2cSJim Jagielski	 */
69*b1cdbd2cSJim Jagielski	const long SEEKABLEREAD = 3;
70*b1cdbd2cSJim Jagielski
71*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
72*b1cdbd2cSJim Jagielski	/** specifies opening of an element for writing.
73*b1cdbd2cSJim Jagielski	 */
74*b1cdbd2cSJim Jagielski	const long WRITE = 4;
75*b1cdbd2cSJim Jagielski
76*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
77*b1cdbd2cSJim Jagielski	/** specifies opening of an element for reading and writing.
78*b1cdbd2cSJim Jagielski
79*b1cdbd2cSJim Jagielski		<p>
80*b1cdbd2cSJim Jagielski		For a stream element is also specifies that it must be seekable.
81*b1cdbd2cSJim Jagielski		</p>
82*b1cdbd2cSJim Jagielski	 */
83*b1cdbd2cSJim Jagielski	const long READWRITE = 7;
84*b1cdbd2cSJim Jagielski
85*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
86*b1cdbd2cSJim Jagielski	/** lets the document be truncated immediatelly after opening.
87*b1cdbd2cSJim Jagielski
88*b1cdbd2cSJim Jagielski		<p>
89*b1cdbd2cSJim Jagielski		This flag makes sence only in combination with
90*b1cdbd2cSJim Jagielski		<const>ElementModes::WRITE</const>.
91*b1cdbd2cSJim Jagielski		</p>
92*b1cdbd2cSJim Jagielski	 */
93*b1cdbd2cSJim Jagielski	const long TRUNCATE = 8;
94*b1cdbd2cSJim Jagielski
95*b1cdbd2cSJim Jagielski	//------------------------------------------------------------------------
96*b1cdbd2cSJim Jagielski	/** restricts creation of a new element on opening in case a requested one
97*b1cdbd2cSJim Jagielski		does not exist.
98*b1cdbd2cSJim Jagielski
99*b1cdbd2cSJim Jagielski		<p>
100*b1cdbd2cSJim Jagielski		This flag makes sence only in combination with
101*b1cdbd2cSJim Jagielski		<const>ElementModes::WRITE</const>.
102*b1cdbd2cSJim Jagielski		</p>
103*b1cdbd2cSJim Jagielski	 */
104*b1cdbd2cSJim Jagielski	const long NOCREATE = 16;
105*b1cdbd2cSJim Jagielski};
106*b1cdbd2cSJim Jagielski
107*b1cdbd2cSJim Jagielski//============================================================================
108*b1cdbd2cSJim Jagielski
109*b1cdbd2cSJim Jagielski}; }; }; };
110*b1cdbd2cSJim Jagielski
111*b1cdbd2cSJim Jagielski#endif
112*b1cdbd2cSJim Jagielski
113