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_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX
25 #define INCLUDED_SHELL_SOURCE_BACKENDS_GCONFBE_GCONFACCESS_HXX
26 
27 #include "sal/config.h"
28 
29 #include <cstddef>
30 
31 #include "com/sun/star/beans/Optional.hpp"
32 #include "gconf/gconf-client.h"
33 #include "sal/types.h"
34 
35 namespace com { namespace sun { namespace star { namespace uno {
36     class Any;
37 } } } }
38 
39 namespace gconfaccess {
40 
41 enum ConfigurationSetting
42 {
43     SETTING_PROXY_MODE,
44     SETTING_PROXY_HTTP_HOST,
45     SETTING_PROXY_HTTP_PORT,
46 	SETTING_PROXY_HTTPS_HOST,
47     SETTING_PROXY_HTTPS_PORT,
48     SETTING_PROXY_FTP_HOST,
49     SETTING_PROXY_FTP_PORT,
50     SETTING_NO_PROXY_FOR,
51     SETTING_ENABLE_ACCESSIBILITY,
52     SETTING_MAILER_PROGRAM,
53     SETTING_WORK_DIRECTORY,
54     SETTING_SOURCEVIEWFONT_NAME,
55     SETTING_SOURCEVIEWFONT_HEIGHT,
56     SETTING_USER_GIVENNAME,
57     SETTING_USER_SURNAME,
58 
59 #ifdef ENABLE_LOCKDOWN
60 
61     SETTING_DISABLE_PRINTING,
62     SETTING_USE_SYSTEM_FILE_DIALOG,
63     SETTING_PRINTING_MODIFIES_DOCUMENT,
64     SETTING_SHOW_ICONS_IN_MENUS,
65     SETTING_SHOW_INACTIVE_MENUITEMS,
66     SETTING_SHOW_FONT_PREVIEW,
67     SETTING_SHOW_FONT_HISTORY,
68     SETTING_ENABLE_OPENGL,
69     SETTING_OPTIMIZE_OPENGL,
70     SETTING_SAVE_DOCUMENT_WINDOWS,
71     SETTING_SAVE_DOCUMENT_VIEW_INFO,
72     SETTING_USE_SYSTEM_FONT,
73     SETTING_USE_FONT_ANTI_ALIASING,
74     SETTING_FONT_ANTI_ALIASING_MIN_PIXEL,
75     SETTING_WARN_CREATE_PDF,
76     SETTING_WARN_PRINT_DOC,
77     SETTING_WARN_SAVEORSEND_DOC,
78     SETTING_WARN_SIGN_DOC,
79     SETTING_REMOVE_PERSONAL_INFO,
80     SETTING_RECOMMEND_PASSWORD,
81     SETTING_UNDO_STEPS,
82     SETTING_SYMBOL_SET,
83     SETTING_MACRO_SECURITY_LEVEL,
84     SETTING_CREATE_BACKUP,
85     SETTING_WARN_ALIEN_FORMAT,
86     SETTING_AUTO_SAVE,
87     SETTING_AUTO_SAVE_INTERVAL,
88     SETTING_WRITER_DEFAULT_DOC_FORMAT,
89     SETTING_IMPRESS_DEFAULT_DOC_FORMAT,
90     SETTING_CALC_DEFAULT_DOC_FORMAT,
91 
92 #endif // ENABLE_LOCKDOWN
93 
94     SETTINGS_LAST
95 };
96 
97 struct ConfigurationValue
98 {
99     const ConfigurationSetting nSettingId;
100     const gchar *GconfItem;
101     const char *OOoConfItem;
102     const sal_Bool bNeedsTranslation;
103     const ConfigurationSetting nDependsOn;
104 };
105 
106 extern ConfigurationValue const ConfigurationValues[];
107 
108 extern std::size_t const nConfigurationValues;
109 
110 com::sun::star::beans::Optional< com::sun::star::uno::Any > getValue(
111     ConfigurationValue const & data);
112 
113 }
114 
115 #endif
116