Bump version to 4.1-6
[LibreOffice.git] / idl / inc / globals.hxx
blobd743d1022aa97047fdf1a21f17e626171a6167d5
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 _GLOBALS_HXX
21 #define _GLOBALS_HXX
23 #include <hash.hxx>
25 #ifdef ICC
26 #undef _Export
27 #endif
29 class SvClassManager;
30 struct SvGlobalHashNames
32 SvStringHashEntryRef MM_Name;
33 SvStringHashEntryRef MM_module;
34 SvStringHashEntryRef MM_interface;
35 SvStringHashEntryRef MM_in;
36 SvStringHashEntryRef MM_out;
37 SvStringHashEntryRef MM_inout;
38 SvStringHashEntryRef MM_String;
39 SvStringHashEntryRef MM_UCHAR;
40 SvStringHashEntryRef MM_USHORT;
41 SvStringHashEntryRef MM_uuid;
42 SvStringHashEntryRef MM_HelpContext;
43 SvStringHashEntryRef MM_HelpText;
44 SvStringHashEntryRef MM_void;
45 SvStringHashEntryRef MM_shell;
46 SvStringHashEntryRef MM_Get;
47 SvStringHashEntryRef MM_Set;
48 SvStringHashEntryRef MM_SlotId;
49 SvStringHashEntryRef MM_HasCoreId;
50 SvStringHashEntryRef MM_Cachable;
51 SvStringHashEntryRef MM_Volatile;
52 SvStringHashEntryRef MM_Toggle;
53 SvStringHashEntryRef MM_AutoUpdate;
54 SvStringHashEntryRef MM_Synchron;
55 SvStringHashEntryRef MM_Asynchron;
56 SvStringHashEntryRef MM_RecordPerSet;
57 SvStringHashEntryRef MM_RecordPerItem;
58 SvStringHashEntryRef MM_RecordManual;
59 SvStringHashEntryRef MM_NoRecord;
60 SvStringHashEntryRef MM_RecordAbsolute;
61 SvStringHashEntryRef MM_enum;
62 SvStringHashEntryRef MM_UINT16;
63 SvStringHashEntryRef MM_INT16;
64 SvStringHashEntryRef MM_UINT32;
65 SvStringHashEntryRef MM_INT32;
66 SvStringHashEntryRef MM_int;
67 SvStringHashEntryRef MM_BOOL;
68 SvStringHashEntryRef MM_char;
69 SvStringHashEntryRef MM_BYTE;
70 SvStringHashEntryRef MM_float;
71 SvStringHashEntryRef MM_double;
72 SvStringHashEntryRef MM_item;
73 SvStringHashEntryRef MM_PseudoSlots;
74 SvStringHashEntryRef MM_map;
75 SvStringHashEntryRef MM_Default;
76 SvStringHashEntryRef MM_HelpFile;
77 SvStringHashEntryRef MM_Version;
78 SvStringHashEntryRef MM_import;
79 SvStringHashEntryRef MM_SlotIdFile;
80 SvStringHashEntryRef MM_SvName;
81 SvStringHashEntryRef MM_SbxName;
82 SvStringHashEntryRef MM_ItemName;
83 SvStringHashEntryRef MM_OdlName;
84 SvStringHashEntryRef MM_include;
85 SvStringHashEntryRef MM_ExecMethod;
86 SvStringHashEntryRef MM_StateMethod;
87 SvStringHashEntryRef MM_GroupId;
88 SvStringHashEntryRef MM_HasDialog;
89 SvStringHashEntryRef MM_TypeLibFile;
90 SvStringHashEntryRef MM_Export;
91 SvStringHashEntryRef MM_Automation;
92 SvStringHashEntryRef MM_PseudoPrefix;
93 SvStringHashEntryRef MM_define;
94 SvStringHashEntryRef MM_MenuConfig;
95 SvStringHashEntryRef MM_ToolBoxConfig;
96 SvStringHashEntryRef MM_StatusBarConfig;
97 SvStringHashEntryRef MM_AccelConfig;
98 SvStringHashEntryRef MM_AllConfig;
99 SvStringHashEntryRef MM_FastCall;
100 SvStringHashEntryRef MM_SbxObject;
101 SvStringHashEntryRef MM_Container;
102 SvStringHashEntryRef MM_ImageRotation;
103 SvStringHashEntryRef MM_ImageReflection;
104 SvStringHashEntryRef MM_IsCollection;
105 SvStringHashEntryRef MM_ReadOnlyDoc;
106 SvStringHashEntryRef MM_ConfigName;
107 SvStringHashEntryRef MM_union;
108 SvStringHashEntryRef MM_struct;
109 SvStringHashEntryRef MM_typedef;
110 SvStringHashEntryRef MM_Readonly;
111 SvStringHashEntryRef MM_SlotType;
112 SvStringHashEntryRef MM_ModulePrefix;
113 SvStringHashEntryRef MM_DisableFlags;
114 SvStringHashEntryRef MM_Hidden;
115 SvStringHashEntryRef MM_Description;
116 SvStringHashEntryRef MM_UnoName;
118 SvGlobalHashNames();
121 class IdlDll
123 public:
124 SvStringHashTable * pHashTable;
125 SvClassManager * pClassMgr;
126 SvGlobalHashNames * pGlobalNames;
128 IdlDll();
129 ~IdlDll();
132 IdlDll * GetIdlApp();
133 #define IDLAPP GetIdlApp()
135 #define SV_GLOBAL_HASH_ACCESS( Name ) \
136 if( !IDLAPP->pGlobalNames ) \
137 IDLAPP->pGlobalNames = new SvGlobalHashNames(); \
138 return IDLAPP->pGlobalNames->MM_##Name;
140 #define HASH_INLINE( Name ) \
141 inline SvStringHashEntry * SvHash_##Name() { SV_GLOBAL_HASH_ACCESS( Name ) }
143 HASH_INLINE(Name)
144 HASH_INLINE(module)
145 HASH_INLINE(interface)
146 HASH_INLINE(in)
147 HASH_INLINE(out)
148 HASH_INLINE(inout)
149 HASH_INLINE(String)
150 HASH_INLINE(UCHAR)
151 HASH_INLINE(USHORT)
152 HASH_INLINE(uuid)
153 HASH_INLINE(HelpContext)
154 HASH_INLINE(HelpText)
155 HASH_INLINE(void)
156 HASH_INLINE(shell)
157 HASH_INLINE(Get)
158 HASH_INLINE(Set)
159 HASH_INLINE(SlotId)
160 HASH_INLINE(HasCoreId)
161 HASH_INLINE(Cachable)
162 HASH_INLINE(Volatile)
163 HASH_INLINE(Toggle)
164 HASH_INLINE(AutoUpdate)
165 HASH_INLINE(Synchron)
166 HASH_INLINE(Asynchron)
167 HASH_INLINE(RecordPerItem)
168 HASH_INLINE(RecordPerSet)
169 HASH_INLINE(RecordManual)
170 HASH_INLINE(NoRecord)
171 HASH_INLINE(RecordAbsolute)
172 HASH_INLINE(enum)
173 HASH_INLINE(UINT16)
174 HASH_INLINE(INT16)
175 HASH_INLINE(UINT32)
176 HASH_INLINE(INT32)
177 HASH_INLINE(int)
178 HASH_INLINE(BOOL)
179 HASH_INLINE(char)
180 HASH_INLINE(BYTE)
181 HASH_INLINE(item)
182 HASH_INLINE(PseudoSlots)
183 HASH_INLINE(map)
184 HASH_INLINE(Default)
185 HASH_INLINE(HelpFile)
186 HASH_INLINE(Version)
187 HASH_INLINE(import)
188 HASH_INLINE(SlotIdFile)
189 HASH_INLINE(SvName)
190 HASH_INLINE(SbxName)
191 HASH_INLINE(ItemName)
192 HASH_INLINE(OdlName)
193 HASH_INLINE(include)
194 HASH_INLINE(ExecMethod)
195 HASH_INLINE(StateMethod)
196 HASH_INLINE(GroupId)
197 HASH_INLINE(float)
198 HASH_INLINE(double)
199 HASH_INLINE(HasDialog)
200 HASH_INLINE(TypeLibFile)
201 HASH_INLINE(Export)
202 HASH_INLINE(Automation)
203 HASH_INLINE(PseudoPrefix)
204 HASH_INLINE(define)
205 HASH_INLINE(MenuConfig)
206 HASH_INLINE(ToolBoxConfig)
207 HASH_INLINE(StatusBarConfig)
208 HASH_INLINE(AccelConfig)
209 HASH_INLINE(AllConfig)
210 HASH_INLINE(FastCall)
211 HASH_INLINE(SbxObject)
212 HASH_INLINE(Container)
213 HASH_INLINE(ImageRotation)
214 HASH_INLINE(ImageReflection)
215 HASH_INLINE(IsCollection)
216 HASH_INLINE(ReadOnlyDoc)
217 HASH_INLINE(ConfigName)
218 HASH_INLINE(union)
219 HASH_INLINE(struct)
220 HASH_INLINE(typedef)
221 HASH_INLINE(Readonly)
222 HASH_INLINE(SlotType)
223 HASH_INLINE(ModulePrefix)
224 HASH_INLINE(DisableFlags)
225 HASH_INLINE(Hidden)
226 HASH_INLINE(Description)
227 HASH_INLINE(UnoName)
230 #endif // _GLOBALS_HXX
232 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */