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 INCLUDED_unotools_ITEMHOLDERBASE_HXX_
25 #define INCLUDED_unotools_ITEMHOLDERBASE_HXX_
26 
27 //-----------------------------------------------
28 // includes
29 
30 #include <vector>
31 #include <osl/mutex.hxx>
32 
33 namespace utl { namespace detail { class Options; } }
34 
35 //-----------------------------------------------
36 // definitions
37 
38 struct ItemHolderMutexBase
39 {
40     ::osl::Mutex m_aLock;
41 };
42 
43 enum EItem
44 {
45     E_ACCELCFG                      ,   //
46     E_ACCESSIBILITYOPTIONS          ,   // 2
47     E_ADDXMLTOSTORAGEOPTIONS        ,   //
48     E_APEARCFG                      ,   // 2
49 
50     E_CJKOPTIONS                    ,   // 2
51     E_CMDOPTIONS                    ,   //
52     E_COLORCFG                      ,   // 2
53     E_COMPATIBILITY                 ,   //
54     E_CTLOPTIONS                    ,   // 2
55 
56     E_DEFAULTOPTIONS                ,   //
57     E_DYNAMICMENUOPTIONS            ,   //
58 
59     E_EVENTCFG                      ,   //
60     E_EXTENDEDSECURITYOPTIONS       ,   //
61 
62     E_FLTRCFG                       ,   //
63     E_FONTOPTIONS                   ,   //
64     E_FONTSUBSTCONFIG               ,   // 2
65 
66     E_HELPOPTIONS                   ,   // 2
67     E_HISTORYOPTIONS                ,   //
68 
69     E_INETOPTIONS                   ,   //
70     E_INTERNALOPTIONS               ,   //
71 
72     E_JAVAOPTIONS                   ,   //
73 
74     E_LANGUAGEOPTIONS               ,   // 2
75     E_LINGUCFG                      ,   //
76     E_LOCALISATIONOPTIONS           ,   //
77 
78     E_MENUOPTIONS                   ,   //
79     E_MISCCFG                       ,   // 2
80     E_MISCOPTIONS                   ,   //
81     E_MODULEOPTIONS                 ,   //
82 
83     E_OPTIONSDLGOPTIONS             ,   //
84 
85     E_PATHOPTIONS                   ,   //
86     E_PRINTOPTIONS                  ,   // 2
87     E_PRINTFILEOPTIONS              ,   // 2
88     E_PRINTWARNINGOPTIONS           ,   //
89 
90     E_REGOPTIONS                    ,   //
91 
92     E_SAVEOPTIONS                   ,   //
93     E_SEARCHOPT                     ,   //
94     E_SECURITYOPTIONS               ,   //
95     E_SOURCEVIEWCONFIG              ,   //
96     E_STARTOPTIONS                  ,   //
97     E_SYSLOCALEOPTIONS              ,   // 2
98 
99     E_UNDOOPTIONS                   ,   // 2
100     E_USEROPTIONS                   ,   // 2
101 
102     E_VIEWOPTIONS_DIALOG            ,   //
103     E_VIEWOPTIONS_TABDIALOG         ,   //
104     E_VIEWOPTIONS_TABPAGE           ,   //
105     E_VIEWOPTIONS_WINDOW            ,   //
106 
107     E_WORKINGSETOPTIONS             ,   //
108 
109     E_XMLACCELCFG                       //
110 };
111 
112 struct TItemInfo
113 {
TItemInfoTItemInfo114     TItemInfo()
115         : pItem(0)
116     {}
117 
118     utl::detail::Options * pItem;
119     EItem eItem;
120 };
121 
122 typedef ::std::vector< TItemInfo > TItems;
123 
124 #endif // INCLUDED_unotools_ITEMHOLDERBASE_HXX_
125