1*bae3752eSAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*bae3752eSAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*bae3752eSAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*bae3752eSAndrew Rist  * distributed with this work for additional information
6*bae3752eSAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*bae3752eSAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*bae3752eSAndrew Rist  * "License"); you may not use this file except in compliance
9*bae3752eSAndrew Rist  * with the License.  You may obtain a copy of the License at
10*bae3752eSAndrew Rist  *
11*bae3752eSAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*bae3752eSAndrew Rist  *
13*bae3752eSAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*bae3752eSAndrew Rist  * software distributed under the License is distributed on an
15*bae3752eSAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*bae3752eSAndrew Rist  * KIND, either express or implied.  See the License for the
17*bae3752eSAndrew Rist  * specific language governing permissions and limitations
18*bae3752eSAndrew Rist  * under the License.
19*bae3752eSAndrew Rist  *
20*bae3752eSAndrew Rist  *************************************************************/
21*bae3752eSAndrew Rist 
22*bae3752eSAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir #ifndef INCLUDED_unotools_ITEMHOLDERBASE_HXX_
25cdf0e10cSrcweir #define INCLUDED_unotools_ITEMHOLDERBASE_HXX_
26cdf0e10cSrcweir 
27cdf0e10cSrcweir //-----------------------------------------------
28cdf0e10cSrcweir // includes
29cdf0e10cSrcweir 
30cdf0e10cSrcweir #include <vector>
31cdf0e10cSrcweir #include <osl/mutex.hxx>
32cdf0e10cSrcweir 
33cdf0e10cSrcweir namespace utl { namespace detail { class Options; } }
34cdf0e10cSrcweir 
35cdf0e10cSrcweir //-----------------------------------------------
36cdf0e10cSrcweir // definitions
37cdf0e10cSrcweir 
38cdf0e10cSrcweir struct ItemHolderMutexBase
39cdf0e10cSrcweir {
40cdf0e10cSrcweir     ::osl::Mutex m_aLock;
41cdf0e10cSrcweir };
42cdf0e10cSrcweir 
43cdf0e10cSrcweir enum EItem
44cdf0e10cSrcweir {
45cdf0e10cSrcweir     E_ACCELCFG                      ,   //
46cdf0e10cSrcweir     E_ACCESSIBILITYOPTIONS          ,   // 2
47cdf0e10cSrcweir     E_ADDXMLTOSTORAGEOPTIONS        ,   //
48cdf0e10cSrcweir     E_APEARCFG                      ,   // 2
49cdf0e10cSrcweir 
50cdf0e10cSrcweir     E_CJKOPTIONS                    ,   // 2
51cdf0e10cSrcweir     E_CMDOPTIONS                    ,   //
52cdf0e10cSrcweir     E_COLORCFG                      ,   // 2
53cdf0e10cSrcweir     E_COMPATIBILITY                 ,   //
54cdf0e10cSrcweir     E_CTLOPTIONS                    ,   // 2
55cdf0e10cSrcweir 
56cdf0e10cSrcweir     E_DEFAULTOPTIONS                ,   //
57cdf0e10cSrcweir     E_DYNAMICMENUOPTIONS            ,   //
58cdf0e10cSrcweir 
59cdf0e10cSrcweir     E_EVENTCFG                      ,   //
60cdf0e10cSrcweir     E_EXTENDEDSECURITYOPTIONS       ,   //
61cdf0e10cSrcweir 
62cdf0e10cSrcweir     E_FLTRCFG                       ,   //
63cdf0e10cSrcweir     E_FONTOPTIONS                   ,   //
64cdf0e10cSrcweir     E_FONTSUBSTCONFIG               ,   // 2
65cdf0e10cSrcweir 
66cdf0e10cSrcweir     E_HELPOPTIONS                   ,   // 2
67cdf0e10cSrcweir     E_HISTORYOPTIONS                ,   //
68cdf0e10cSrcweir 
69cdf0e10cSrcweir     E_INETOPTIONS                   ,   //
70cdf0e10cSrcweir     E_INTERNALOPTIONS               ,   //
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     E_JAVAOPTIONS                   ,   //
73cdf0e10cSrcweir 
74cdf0e10cSrcweir     E_LANGUAGEOPTIONS               ,   // 2
75cdf0e10cSrcweir     E_LINGUCFG                      ,   //
76cdf0e10cSrcweir     E_LOCALISATIONOPTIONS           ,   //
77cdf0e10cSrcweir 
78cdf0e10cSrcweir     E_MENUOPTIONS                   ,   //
79cdf0e10cSrcweir     E_MISCCFG                       ,   // 2
80cdf0e10cSrcweir     E_MISCOPTIONS                   ,   //
81cdf0e10cSrcweir     E_MODULEOPTIONS                 ,   //
82cdf0e10cSrcweir 
83cdf0e10cSrcweir     E_OPTIONSDLGOPTIONS             ,   //
84cdf0e10cSrcweir 
85cdf0e10cSrcweir     E_PATHOPTIONS                   ,   //
86cdf0e10cSrcweir     E_PRINTOPTIONS                  ,   // 2
87cdf0e10cSrcweir     E_PRINTFILEOPTIONS              ,   // 2
88cdf0e10cSrcweir     E_PRINTWARNINGOPTIONS           ,   //
89cdf0e10cSrcweir 
90cdf0e10cSrcweir     E_REGOPTIONS                    ,   //
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     E_SAVEOPTIONS                   ,   //
93cdf0e10cSrcweir     E_SEARCHOPT                     ,   //
94cdf0e10cSrcweir     E_SECURITYOPTIONS               ,   //
95cdf0e10cSrcweir     E_SOURCEVIEWCONFIG              ,   //
96cdf0e10cSrcweir     E_STARTOPTIONS                  ,   //
97cdf0e10cSrcweir     E_SYSLOCALEOPTIONS              ,   // 2
98cdf0e10cSrcweir 
99cdf0e10cSrcweir     E_UNDOOPTIONS                   ,   // 2
100cdf0e10cSrcweir     E_USEROPTIONS                   ,   // 2
101cdf0e10cSrcweir 
102cdf0e10cSrcweir     E_VIEWOPTIONS_DIALOG            ,   //
103cdf0e10cSrcweir     E_VIEWOPTIONS_TABDIALOG         ,   //
104cdf0e10cSrcweir     E_VIEWOPTIONS_TABPAGE           ,   //
105cdf0e10cSrcweir     E_VIEWOPTIONS_WINDOW            ,   //
106cdf0e10cSrcweir 
107cdf0e10cSrcweir     E_WORKINGSETOPTIONS             ,   //
108cdf0e10cSrcweir 
109cdf0e10cSrcweir     E_XMLACCELCFG                       //
110cdf0e10cSrcweir };
111cdf0e10cSrcweir 
112cdf0e10cSrcweir struct TItemInfo
113cdf0e10cSrcweir {
TItemInfoTItemInfo114cdf0e10cSrcweir     TItemInfo()
115cdf0e10cSrcweir         : pItem(0)
116cdf0e10cSrcweir     {}
117cdf0e10cSrcweir 
118cdf0e10cSrcweir     utl::detail::Options * pItem;
119cdf0e10cSrcweir     EItem eItem;
120cdf0e10cSrcweir };
121cdf0e10cSrcweir 
122cdf0e10cSrcweir typedef ::std::vector< TItemInfo > TItems;
123cdf0e10cSrcweir 
124cdf0e10cSrcweir #endif // INCLUDED_unotools_ITEMHOLDERBASE_HXX_
125