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_beans_Defaulted_idl__
24#define __com_sun_star_beans_Defaulted_idl__
25
26module com {  module sun {  module star {  module beans {
27
28/**
29   A value of a given type that can be defaulted.
30
31   <p>This structure is used as the type of interface attributes corresponding
32   to instances of <type scopye="com::sun::star::beans">Property</type> that
33   have the <const
34   scope="com::sun::star::beans">PropertyAttribute::MAYBEDEFAULT</const>.</p>
35 */
36published struct Defaulted<T> {
37    /**
38       The underlying value of this structure instance.
39
40       <p>Even if this structure instance is defaulted, this member should
41       contain a useful value.  If there is no useful value for a defaulted
42       structure instance, <type scope="com::sun::star::beans">Optional</type>
43       can be used as the type of this member.</p>
44     */
45    T Value;
46
47    /**
48       Marks this structure instance as defaulted.
49     */
50    boolean IsDefaulted;
51};
52
53}; }; }; };
54
55#endif
56