Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
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 .
18 : */
19 :
20 :
21 : #include <tools/shl.hxx>
22 :
23 : #include <globals.hxx>
24 : #include <database.hxx>
25 :
26 15105967 : IdlDll * GetIdlApp()
27 : {
28 15105967 : if( !(*(IdlDll**)GetAppData(SHL_IDL)) )
29 : {
30 8 : (*(IdlDll**)GetAppData(SHL_IDL)) = new IdlDll();
31 : }
32 15105967 : return (*(IdlDll**)GetAppData(SHL_IDL));
33 : }
34 :
35 8 : IdlDll::IdlDll()
36 : : pHashTable( NULL )
37 8 : , pGlobalNames( NULL )
38 :
39 8 : {}
40 :
41 8 : IdlDll::~IdlDll()
42 : {
43 8 : delete pGlobalNames;
44 8 : delete pHashTable;
45 8 : }
46 :
47 672 : inline SvStringHashEntry * INS( const OString& rName )
48 : {
49 : sal_uInt32 nIdx;
50 672 : IDLAPP->pHashTable->Insert( rName, &nIdx );
51 672 : return (SvStringHashEntry * )IDLAPP->pHashTable->Get( nIdx );
52 : }
53 : #define A_ENTRY( Name ) , MM_##Name( INS( #Name ) )
54 :
55 8 : SvGlobalHashNames::SvGlobalHashNames()
56 : : MM_Name( INS( "Name" ) )
57 : , MM_module( INS( "module" ) )
58 : , MM_interface( INS( "interface" ) )
59 : , MM_in( INS( "in" ) )
60 : , MM_out( INS( "out" ) )
61 : , MM_inout( INS( "inout" ) )
62 : , MM_String( INS( "String" ) )
63 : , MM_UCHAR( INS( "UCHAR" ) )
64 : , MM_USHORT( INS( "USHORT" ) )
65 : , MM_uuid( INS( "uuid" ) )
66 : , MM_HelpContext( INS( "HelpContext" ) )
67 : , MM_HelpText( INS( "HelpText" ) )
68 : , MM_void( INS( "void" ) )
69 : , MM_shell( INS( "shell" ) )
70 : , MM_Get( INS( "Get" ) )
71 : , MM_Set( INS( "Set" ) )
72 : , MM_SlotId( INS( "SlotId" ) )
73 : , MM_HasCoreId( INS( "HasCoreId" ) )
74 : , MM_Cachable( INS( "Cachable" ) )
75 : , MM_Toggle( INS( "Toggle" ) )
76 : , MM_AutoUpdate( INS( "AutoUpdate" ) )
77 : , MM_Synchron( INS( "Synchron" ) )
78 : , MM_Asynchron( INS( "Asynchron" ) )
79 : A_ENTRY(RecordPerSet)
80 : A_ENTRY(RecordPerItem)
81 : A_ENTRY(RecordManual)
82 : A_ENTRY(NoRecord)
83 : A_ENTRY(RecordAbsolute)
84 : A_ENTRY(enum)
85 : A_ENTRY(UINT16)
86 : A_ENTRY(INT16)
87 : A_ENTRY(UINT32)
88 : A_ENTRY(INT32)
89 : A_ENTRY(int)
90 : A_ENTRY(BOOL)
91 : A_ENTRY(char)
92 : A_ENTRY(BYTE)
93 : A_ENTRY(float)
94 : A_ENTRY(double)
95 : A_ENTRY(item)
96 : A_ENTRY(PseudoSlots)
97 : A_ENTRY(map)
98 : A_ENTRY(Default)
99 : A_ENTRY(HelpFile)
100 : A_ENTRY(Version)
101 : A_ENTRY(import)
102 : A_ENTRY(SlotIdFile)
103 : A_ENTRY(SvName)
104 : A_ENTRY(SbxName)
105 : A_ENTRY(ItemName)
106 : A_ENTRY(OdlName)
107 : A_ENTRY(include)
108 : A_ENTRY(ExecMethod)
109 : A_ENTRY(StateMethod)
110 : A_ENTRY(GroupId)
111 : A_ENTRY(HasDialog)
112 : A_ENTRY(TypeLibFile)
113 : A_ENTRY(Export)
114 : A_ENTRY(Automation)
115 : A_ENTRY(PseudoPrefix)
116 : A_ENTRY(define)
117 : A_ENTRY(MenuConfig)
118 : A_ENTRY(ToolBoxConfig)
119 : A_ENTRY(StatusBarConfig)
120 : A_ENTRY(AccelConfig)
121 : A_ENTRY(AllConfig)
122 : A_ENTRY(FastCall)
123 : A_ENTRY(SbxObject)
124 : A_ENTRY(Container)
125 : A_ENTRY(ImageRotation)
126 : A_ENTRY(ImageReflection)
127 : A_ENTRY(IsCollection)
128 : A_ENTRY(ReadOnlyDoc)
129 : A_ENTRY(ConfigName)
130 : A_ENTRY(union)
131 : A_ENTRY(struct)
132 : A_ENTRY(typedef)
133 : A_ENTRY(Readonly)
134 : A_ENTRY(SlotType)
135 : A_ENTRY(ModulePrefix)
136 : A_ENTRY(DisableFlags)
137 : A_ENTRY(Hidden)
138 : A_ENTRY(Description)
139 8 : A_ENTRY(UnoName)
140 8 : {}
141 :
142 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|