summaryrefslogtreecommitdiff
path: root/idl/inc/globals.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'idl/inc/globals.hxx')
-rw-r--r--idl/inc/globals.hxx242
1 files changed, 242 insertions, 0 deletions
diff --git a/idl/inc/globals.hxx b/idl/inc/globals.hxx
new file mode 100644
index 000000000000..c3e841df05d6
--- /dev/null
+++ b/idl/inc/globals.hxx
@@ -0,0 +1,242 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef _GLOBALS_HXX
+#define _GLOBALS_HXX
+
+#ifdef IDL_COMPILER
+#include <hash.hxx>
+
+#ifdef ICC
+#undef _Export
+#endif
+
+class SvIdlWorkingBase;
+class SvClassManager;
+struct SvGlobalHashNames
+{
+ SvStringHashEntryRef MM_Name;
+ SvStringHashEntryRef MM_module;
+ SvStringHashEntryRef MM_interface;
+ SvStringHashEntryRef MM_in;
+ SvStringHashEntryRef MM_out;
+ SvStringHashEntryRef MM_inout;
+ SvStringHashEntryRef MM_String;
+ SvStringHashEntryRef MM_UCHAR;
+ SvStringHashEntryRef MM_USHORT;
+ SvStringHashEntryRef MM_uuid;
+ SvStringHashEntryRef MM_HelpContext;
+ SvStringHashEntryRef MM_HelpText;
+ SvStringHashEntryRef MM_void;
+ SvStringHashEntryRef MM_shell;
+ SvStringHashEntryRef MM_Get;
+ SvStringHashEntryRef MM_Set;
+ SvStringHashEntryRef MM_SlotId;
+ SvStringHashEntryRef MM_HasCoreId;
+ SvStringHashEntryRef MM_Cachable;
+ SvStringHashEntryRef MM_Volatile;
+ SvStringHashEntryRef MM_Toggle;
+ SvStringHashEntryRef MM_AutoUpdate;
+ SvStringHashEntryRef MM_Synchron;
+ SvStringHashEntryRef MM_Asynchron;
+ SvStringHashEntryRef MM_RecordPerSet;
+ SvStringHashEntryRef MM_RecordPerItem;
+ SvStringHashEntryRef MM_RecordManual;
+ SvStringHashEntryRef MM_NoRecord;
+ SvStringHashEntryRef MM_RecordAbsolute;
+ SvStringHashEntryRef MM_enum;
+ SvStringHashEntryRef MM_UINT16;
+ SvStringHashEntryRef MM_INT16;
+ SvStringHashEntryRef MM_UINT32;
+ SvStringHashEntryRef MM_INT32;
+ SvStringHashEntryRef MM_int;
+ SvStringHashEntryRef MM_BOOL;
+ SvStringHashEntryRef MM_char;
+ SvStringHashEntryRef MM_BYTE;
+ SvStringHashEntryRef MM_float;
+ SvStringHashEntryRef MM_double;
+ SvStringHashEntryRef MM_item;
+ SvStringHashEntryRef MM_PseudoSlots;
+ SvStringHashEntryRef MM_map;
+ SvStringHashEntryRef MM_Default;
+ SvStringHashEntryRef MM_HelpFile;
+ SvStringHashEntryRef MM_Version;
+ SvStringHashEntryRef MM_import;
+ SvStringHashEntryRef MM_SlotIdFile;
+ SvStringHashEntryRef MM_SvName;
+ SvStringHashEntryRef MM_SbxName;
+ SvStringHashEntryRef MM_ItemName;
+ SvStringHashEntryRef MM_OdlName;
+ SvStringHashEntryRef MM_include;
+ SvStringHashEntryRef MM_ExecMethod;
+ SvStringHashEntryRef MM_StateMethod;
+ SvStringHashEntryRef MM_GroupId;
+ SvStringHashEntryRef MM_HasDialog;
+ SvStringHashEntryRef MM_TypeLibFile;
+ SvStringHashEntryRef MM_Export;
+ SvStringHashEntryRef MM_Automation;
+ SvStringHashEntryRef MM_PseudoPrefix;
+ SvStringHashEntryRef MM_define;
+ SvStringHashEntryRef MM_MenuConfig;
+ SvStringHashEntryRef MM_ToolBoxConfig;
+ SvStringHashEntryRef MM_StatusBarConfig;
+ SvStringHashEntryRef MM_AccelConfig;
+ SvStringHashEntryRef MM_AllConfig;
+ SvStringHashEntryRef MM_FastCall;
+ SvStringHashEntryRef MM_SbxObject;
+ SvStringHashEntryRef MM_Container;
+ SvStringHashEntryRef MM_ImageRotation;
+ SvStringHashEntryRef MM_ImageReflection;
+ SvStringHashEntryRef MM_IsCollection;
+ SvStringHashEntryRef MM_ReadOnlyDoc;
+ SvStringHashEntryRef MM_ConfigName;
+ SvStringHashEntryRef MM_union;
+ SvStringHashEntryRef MM_struct;
+ SvStringHashEntryRef MM_typedef;
+ SvStringHashEntryRef MM_Readonly;
+ SvStringHashEntryRef MM_SlotType;
+ SvStringHashEntryRef MM_ModulePrefix;
+ SvStringHashEntryRef MM_DisableFlags;
+ SvStringHashEntryRef MM_Hidden;
+ SvStringHashEntryRef MM_Description;
+ SvStringHashEntryRef MM_UnoName;
+
+ SvGlobalHashNames();
+};
+
+class IdlDll
+{
+public:
+ SvStringHashTable * pHashTable;
+ SvClassManager * pClassMgr;
+ SvGlobalHashNames * pGlobalNames;
+
+ IdlDll();
+ ~IdlDll();
+};
+
+IdlDll * GetIdlApp();
+#define IDLAPP GetIdlApp()
+
+#define SV_GLOBAL_HASH_ACCESS( Name ) \
+ if( !IDLAPP->pGlobalNames ) \
+ IDLAPP->pGlobalNames = new SvGlobalHashNames(); \
+ return IDLAPP->pGlobalNames->MM_##Name;
+
+#define HASH_INLINE( Name ) \
+inline SvStringHashEntry * SvHash_##Name() { SV_GLOBAL_HASH_ACCESS( Name ) }
+
+HASH_INLINE(Name)
+HASH_INLINE(module)
+HASH_INLINE(interface)
+HASH_INLINE(in)
+HASH_INLINE(out)
+HASH_INLINE(inout)
+HASH_INLINE(String)
+HASH_INLINE(UCHAR)
+HASH_INLINE(USHORT)
+HASH_INLINE(uuid)
+HASH_INLINE(HelpContext)
+HASH_INLINE(HelpText)
+HASH_INLINE(void)
+HASH_INLINE(shell)
+HASH_INLINE(Get)
+HASH_INLINE(Set)
+HASH_INLINE(SlotId)
+HASH_INLINE(HasCoreId)
+HASH_INLINE(Cachable)
+HASH_INLINE(Volatile)
+HASH_INLINE(Toggle)
+HASH_INLINE(AutoUpdate)
+HASH_INLINE(Synchron)
+HASH_INLINE(Asynchron)
+HASH_INLINE(RecordPerItem)
+HASH_INLINE(RecordPerSet)
+HASH_INLINE(RecordManual)
+HASH_INLINE(NoRecord)
+HASH_INLINE(RecordAbsolute)
+HASH_INLINE(enum)
+HASH_INLINE(UINT16)
+HASH_INLINE(INT16)
+HASH_INLINE(UINT32)
+HASH_INLINE(INT32)
+HASH_INLINE(int)
+HASH_INLINE(BOOL)
+HASH_INLINE(char)
+HASH_INLINE(BYTE)
+HASH_INLINE(item)
+HASH_INLINE(PseudoSlots)
+HASH_INLINE(map)
+HASH_INLINE(Default)
+HASH_INLINE(HelpFile)
+HASH_INLINE(Version)
+HASH_INLINE(import)
+HASH_INLINE(SlotIdFile)
+HASH_INLINE(SvName)
+HASH_INLINE(SbxName)
+HASH_INLINE(ItemName)
+HASH_INLINE(OdlName)
+HASH_INLINE(include)
+HASH_INLINE(ExecMethod)
+HASH_INLINE(StateMethod)
+HASH_INLINE(GroupId)
+HASH_INLINE(float)
+HASH_INLINE(double)
+HASH_INLINE(HasDialog)
+HASH_INLINE(TypeLibFile)
+HASH_INLINE(Export)
+HASH_INLINE(Automation)
+HASH_INLINE(PseudoPrefix)
+HASH_INLINE(define)
+HASH_INLINE(MenuConfig)
+HASH_INLINE(ToolBoxConfig)
+HASH_INLINE(StatusBarConfig)
+HASH_INLINE(AccelConfig)
+HASH_INLINE(AllConfig)
+HASH_INLINE(FastCall)
+HASH_INLINE(SbxObject)
+HASH_INLINE(Container)
+HASH_INLINE(ImageRotation)
+HASH_INLINE(ImageReflection)
+HASH_INLINE(IsCollection)
+HASH_INLINE(ReadOnlyDoc)
+HASH_INLINE(ConfigName)
+HASH_INLINE(union)
+HASH_INLINE(struct)
+HASH_INLINE(typedef)
+HASH_INLINE(Readonly)
+HASH_INLINE(SlotType)
+HASH_INLINE(ModulePrefix)
+HASH_INLINE(DisableFlags)
+HASH_INLINE(Hidden)
+HASH_INLINE(Description)
+HASH_INLINE(UnoName)
+
+
+#endif // IDL_COMPILER
+#endif // _GLOBALS_HXX
+