bump product version to 5.0.4.1
[LibreOffice.git] / idl / inc / globals.hxx
blob3569d975018f5aff57185f96def9e4bd1c227497
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef INCLUDED_IDL_INC_GLOBALS_HXX
21 #define INCLUDED_IDL_INC_GLOBALS_HXX
23 #include <hash.hxx>
26 class SvClassManager;
27 struct SvGlobalHashNames
29 SvStringHashEntryRef MM_Name;
30 SvStringHashEntryRef MM_module;
31 SvStringHashEntryRef MM_interface;
32 SvStringHashEntryRef MM_in;
33 SvStringHashEntryRef MM_out;
34 SvStringHashEntryRef MM_inout;
35 SvStringHashEntryRef MM_String;
36 SvStringHashEntryRef MM_UCHAR;
37 SvStringHashEntryRef MM_USHORT;
38 SvStringHashEntryRef MM_uuid;
39 SvStringHashEntryRef MM_HelpContext;
40 SvStringHashEntryRef MM_HelpText;
41 SvStringHashEntryRef MM_void;
42 SvStringHashEntryRef MM_shell;
43 SvStringHashEntryRef MM_Get;
44 SvStringHashEntryRef MM_Set;
45 SvStringHashEntryRef MM_SlotId;
46 SvStringHashEntryRef MM_HasCoreId;
47 SvStringHashEntryRef MM_Cachable;
48 SvStringHashEntryRef MM_Volatile;
49 SvStringHashEntryRef MM_Toggle;
50 SvStringHashEntryRef MM_AutoUpdate;
51 SvStringHashEntryRef MM_Synchron;
52 SvStringHashEntryRef MM_Asynchron;
53 SvStringHashEntryRef MM_RecordPerSet;
54 SvStringHashEntryRef MM_RecordPerItem;
55 SvStringHashEntryRef MM_RecordManual;
56 SvStringHashEntryRef MM_NoRecord;
57 SvStringHashEntryRef MM_RecordAbsolute;
58 SvStringHashEntryRef MM_enum;
59 SvStringHashEntryRef MM_UINT16;
60 SvStringHashEntryRef MM_INT16;
61 SvStringHashEntryRef MM_UINT32;
62 SvStringHashEntryRef MM_INT32;
63 SvStringHashEntryRef MM_int;
64 SvStringHashEntryRef MM_BOOL;
65 SvStringHashEntryRef MM_char;
66 SvStringHashEntryRef MM_BYTE;
67 SvStringHashEntryRef MM_float;
68 SvStringHashEntryRef MM_double;
69 SvStringHashEntryRef MM_item;
70 SvStringHashEntryRef MM_PseudoSlots;
71 SvStringHashEntryRef MM_map;
72 SvStringHashEntryRef MM_Default;
73 SvStringHashEntryRef MM_HelpFile;
74 SvStringHashEntryRef MM_Version;
75 SvStringHashEntryRef MM_import;
76 SvStringHashEntryRef MM_SlotIdFile;
77 SvStringHashEntryRef MM_SvName;
78 SvStringHashEntryRef MM_SbxName;
79 SvStringHashEntryRef MM_ItemName;
80 SvStringHashEntryRef MM_OdlName;
81 SvStringHashEntryRef MM_include;
82 SvStringHashEntryRef MM_ExecMethod;
83 SvStringHashEntryRef MM_StateMethod;
84 SvStringHashEntryRef MM_GroupId;
85 SvStringHashEntryRef MM_HasDialog;
86 SvStringHashEntryRef MM_TypeLibFile;
87 SvStringHashEntryRef MM_Export;
88 SvStringHashEntryRef MM_Automation;
89 SvStringHashEntryRef MM_PseudoPrefix;
90 SvStringHashEntryRef MM_define;
91 SvStringHashEntryRef MM_MenuConfig;
92 SvStringHashEntryRef MM_ToolBoxConfig;
93 SvStringHashEntryRef MM_StatusBarConfig;
94 SvStringHashEntryRef MM_AccelConfig;
95 SvStringHashEntryRef MM_AllConfig;
96 SvStringHashEntryRef MM_FastCall;
97 SvStringHashEntryRef MM_SbxObject;
98 SvStringHashEntryRef MM_Container;
99 SvStringHashEntryRef MM_ImageRotation;
100 SvStringHashEntryRef MM_ImageReflection;
101 SvStringHashEntryRef MM_IsCollection;
102 SvStringHashEntryRef MM_ReadOnlyDoc;
103 SvStringHashEntryRef MM_ConfigName;
104 SvStringHashEntryRef MM_union;
105 SvStringHashEntryRef MM_struct;
106 SvStringHashEntryRef MM_typedef;
107 SvStringHashEntryRef MM_Readonly;
108 SvStringHashEntryRef MM_SlotType;
109 SvStringHashEntryRef MM_ModulePrefix;
110 SvStringHashEntryRef MM_DisableFlags;
111 SvStringHashEntryRef MM_Hidden;
112 SvStringHashEntryRef MM_Description;
113 SvStringHashEntryRef MM_UnoName;
115 SvGlobalHashNames();
118 class IdlDll
120 public:
121 SvStringHashTable * pHashTable;
122 SvGlobalHashNames * pGlobalNames;
124 IdlDll();
125 ~IdlDll();
128 IdlDll * GetIdlApp();
129 #define IDLAPP GetIdlApp()
131 #define SV_GLOBAL_HASH_ACCESS( Name ) \
132 if( !IDLAPP->pGlobalNames ) \
133 IDLAPP->pGlobalNames = new SvGlobalHashNames(); \
134 return IDLAPP->pGlobalNames->MM_##Name;
136 #define HASH_INLINE( Name ) \
137 inline SvStringHashEntry * SvHash_##Name() { SV_GLOBAL_HASH_ACCESS( Name ) }
139 HASH_INLINE(Name)
140 HASH_INLINE(module)
141 HASH_INLINE(interface)
142 HASH_INLINE(in)
143 HASH_INLINE(out)
144 HASH_INLINE(inout)
145 HASH_INLINE(String)
146 HASH_INLINE(UCHAR)
147 HASH_INLINE(USHORT)
148 HASH_INLINE(uuid)
149 HASH_INLINE(HelpContext)
150 HASH_INLINE(HelpText)
151 HASH_INLINE(void)
152 HASH_INLINE(shell)
153 HASH_INLINE(Get)
154 HASH_INLINE(Set)
155 HASH_INLINE(SlotId)
156 HASH_INLINE(HasCoreId)
157 HASH_INLINE(Cachable)
158 HASH_INLINE(Volatile)
159 HASH_INLINE(Toggle)
160 HASH_INLINE(AutoUpdate)
161 HASH_INLINE(Synchron)
162 HASH_INLINE(Asynchron)
163 HASH_INLINE(RecordPerItem)
164 HASH_INLINE(RecordPerSet)
165 HASH_INLINE(RecordManual)
166 HASH_INLINE(NoRecord)
167 HASH_INLINE(RecordAbsolute)
168 HASH_INLINE(enum)
169 HASH_INLINE(UINT16)
170 HASH_INLINE(INT16)
171 HASH_INLINE(UINT32)
172 HASH_INLINE(INT32)
173 HASH_INLINE(int)
174 HASH_INLINE(BOOL)
175 HASH_INLINE(char)
176 HASH_INLINE(BYTE)
177 HASH_INLINE(item)
178 HASH_INLINE(PseudoSlots)
179 HASH_INLINE(map)
180 HASH_INLINE(Default)
181 HASH_INLINE(HelpFile)
182 HASH_INLINE(Version)
183 HASH_INLINE(import)
184 HASH_INLINE(SlotIdFile)
185 HASH_INLINE(SvName)
186 HASH_INLINE(SbxName)
187 HASH_INLINE(ItemName)
188 HASH_INLINE(OdlName)
189 HASH_INLINE(include)
190 HASH_INLINE(ExecMethod)
191 HASH_INLINE(StateMethod)
192 HASH_INLINE(GroupId)
193 HASH_INLINE(float)
194 HASH_INLINE(double)
195 HASH_INLINE(HasDialog)
196 HASH_INLINE(TypeLibFile)
197 HASH_INLINE(Export)
198 HASH_INLINE(Automation)
199 HASH_INLINE(PseudoPrefix)
200 HASH_INLINE(define)
201 HASH_INLINE(MenuConfig)
202 HASH_INLINE(ToolBoxConfig)
203 HASH_INLINE(StatusBarConfig)
204 HASH_INLINE(AccelConfig)
205 HASH_INLINE(AllConfig)
206 HASH_INLINE(FastCall)
207 HASH_INLINE(SbxObject)
208 HASH_INLINE(Container)
209 HASH_INLINE(ImageRotation)
210 HASH_INLINE(ImageReflection)
211 HASH_INLINE(IsCollection)
212 HASH_INLINE(ReadOnlyDoc)
213 HASH_INLINE(ConfigName)
214 HASH_INLINE(union)
215 HASH_INLINE(struct)
216 HASH_INLINE(typedef)
217 HASH_INLINE(Readonly)
218 HASH_INLINE(SlotType)
219 HASH_INLINE(ModulePrefix)
220 HASH_INLINE(DisableFlags)
221 HASH_INLINE(Hidden)
222 HASH_INLINE(Description)
223 HASH_INLINE(UnoName)
226 #endif // INCLUDED_IDL_INC_GLOBALS_HXX
228 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */