Coverage Report

Created: 2025-07-07 10:01

/src/libreoffice/svx/source/form/fmscriptingenv.cxx
Line
Count
Source (jump to first uncovered line)
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
#include <config_features.h>
21
22
#include <fmscriptingenv.hxx>
23
#include <svx/fmmodel.hxx>
24
25
#include <com/sun/star/awt/XControl.hpp>
26
#include <com/sun/star/beans/XPropertySet.hpp>
27
#include <com/sun/star/lang/DisposedException.hpp>
28
#include <com/sun/star/lang/EventObject.hpp>
29
#include <com/sun/star/lang/IllegalArgumentException.hpp>
30
#include <com/sun/star/script/XScriptListener.hpp>
31
32
#include <comphelper/diagnose_ex.hxx>
33
#include <tools/debug.hxx>
34
#include <cppuhelper/implbase.hxx>
35
#include <utility>
36
#include <vcl/svapp.hxx>
37
#include <mutex>
38
#include <o3tl/sorted_vector.hxx>
39
#include <sfx2/objsh.hxx>
40
#include <sfx2/app.hxx>
41
#include <basic/basmgr.hxx>
42
43
#include <memory>
44
#include <string_view>
45
46
using std::pair;
47
48
namespace svxform
49
{
50
51
52
    using ::com::sun::star::uno::Reference;
53
    using ::com::sun::star::script::XEventAttacherManager;
54
    using ::com::sun::star::lang::IllegalArgumentException;
55
    using ::com::sun::star::script::XScriptListener;
56
    using ::com::sun::star::script::ScriptEvent;
57
    using ::com::sun::star::lang::EventObject;
58
    using ::com::sun::star::uno::Any;
59
    using ::com::sun::star::uno::UNO_QUERY_THROW;
60
    using ::com::sun::star::lang::DisposedException;
61
    using ::com::sun::star::uno::RuntimeException;
62
    using ::com::sun::star::uno::Exception;
63
    using ::com::sun::star::uno::Sequence;
64
    using ::com::sun::star::awt::XControl;
65
    using ::com::sun::star::beans::XPropertySet;
66
67
    //= FormScriptListener
68
69
    typedef ::cppu::WeakImplHelper <   XScriptListener
70
                                    >   FormScriptListener_Base;
71
72
    /** implements the XScriptListener interface, is used by FormScriptingEnvironment
73
    */
74
    class FormScriptListener    :public FormScriptListener_Base
75
    {
76
    private:
77
        std::mutex m_aMutex;
78
        FormScriptingEnvironment *m_pScriptExecutor;
79
80
    public:
81
        explicit FormScriptListener( FormScriptingEnvironment * pScriptExecutor );
82
83
        // XScriptListener
84
        virtual void SAL_CALL firing( const ScriptEvent& aEvent ) override;
85
        virtual Any SAL_CALL approveFiring( const ScriptEvent& aEvent ) override;
86
        // XEventListener
87
        virtual void SAL_CALL disposing( const EventObject& Source ) override;
88
89
        // lifetime control
90
        void dispose();
91
92
    protected:
93
        virtual ~FormScriptListener() override;
94
95
    private:
96
        /** determines whether calling a given method at a given listener interface can be done asynchronously
97
98
            @param _rListenerType
99
                the name of the UNO type whose method is to be checked
100
            @param _rMethodName
101
                the name of the method at the interface determined by _rListenerType
102
103
            @return
104
                <TRUE/> if and only if the method is declared <code>oneway</code>, i.e. can be called asynchronously
105
        */
106
        static bool impl_allowAsynchronousCall_nothrow( std::u16string_view _rListenerType, std::u16string_view _rMethodName );
107
108
        /** determines whether the instance is already disposed
109
        */
110
0
        bool    impl_isDisposed_nothrow() const { return !m_pScriptExecutor; }
111
112
        /** fires the given script event in a thread-safe manner
113
114
            This methods calls our script executor's doFireScriptEvent, with previously releasing the given mutex guard,
115
            but ensuring that our script executor is not deleted between this release and the actual call.
116
117
            @param _rGuard
118
                a clearable guard to our mutex. Must be the only active guard to our mutex.
119
            @param _rEvent
120
                the event to fire
121
            @param _pSynchronousResult
122
                a place to take a possible result of the script call.
123
124
            @precond
125
                m_pScriptExecutor is not <NULL/>.
126
        */
127
        void    impl_doFireScriptEvent_nothrow( std::unique_lock<std::mutex>& _rGuard, const ScriptEvent& _rEvent, Any* _pSynchronousResult );
128
129
    private:
130
        DECL_LINK( OnAsyncScriptEvent, void*, void );
131
    };
132
133
    FormScriptListener::FormScriptListener( FormScriptingEnvironment* pScriptExecutor )
134
162k
        :m_pScriptExecutor( pScriptExecutor )
135
162k
    {
136
162k
    }
137
138
139
    FormScriptListener::~FormScriptListener()
140
162k
    {
141
162k
    }
142
143
144
    bool FormScriptListener::impl_allowAsynchronousCall_nothrow( std::u16string_view _rListenerType, std::u16string_view _rMethodName )
145
0
    {
146
        // This used to be implemented as:
147
        // is (_rListenerType + "::" + _rMethodName) a oneway function?
148
        // since we got rid of the notion of oneway, this is the list
149
        // of oneway methods, autogenerated by postprocessing of
150
        // commitdiff 90eac3e69749a9227c4b6902b1f3cef1e338c6d1
151
0
        static const o3tl::sorted_vector<pair<std::u16string_view, std::u16string_view>> delayed_event_listeners{
152
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.accessibility.XAccessibleComponent",u"grabFocus"),
153
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.accessibility.XAccessibleEventBroadcaster",u"addAccessibleEventListener"),
154
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.accessibility.XAccessibleEventBroadcaster",u"removeAccessibleEventListener"),
155
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.accessibility.XAccessibleSelection",u"clearAccessibleSelection"),
156
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.accessibility.XAccessibleSelection",u"selectAllAccessibleChildren"),
157
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XActionListener",u"actionPerformed"),
158
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XActivateListener",u"windowActivated"),
159
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XActivateListener",u"windowDeactivated"),
160
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XAdjustmentListener",u"adjustmentValueChanged"),
161
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XButton",u"addActionListener"),
162
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XButton",u"removeActionListener"),
163
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XButton",u"setLabel"),
164
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XButton",u"setActionCommand"),
165
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCheckBox",u"addItemListener"),
166
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCheckBox",u"removeItemListener"),
167
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCheckBox",u"setState"),
168
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCheckBox",u"setLabel"),
169
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCheckBox",u"enableTriState"),
170
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"addItemListener"),
171
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"removeItemListener"),
172
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"addActionListener"),
173
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"removeActionListener"),
174
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"addItem"),
175
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"addItems"),
176
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"removeItems"),
177
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XComboBox",u"setDropDownLineCount"),
178
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControl",u"setContext"),
179
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControl",u"createPeer"),
180
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControl",u"setDesignMode"),
181
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControlContainer",u"setStatusText"),
182
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControlContainer",u"addControl"),
183
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XControlContainer",u"removeControl"),
184
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setValue"),
185
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setMin"),
186
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setMax"),
187
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setFirst"),
188
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setLast"),
189
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setSpinSize"),
190
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setDecimalDigits"),
191
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XCurrencyField",u"setStrictFormat"),
192
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setDate"),
193
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setMin"),
194
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setMax"),
195
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setFirst"),
196
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setLast"),
197
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setLongFormat"),
198
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDateField",u"setStrictFormat"),
199
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDialog",u"setTitle"),
200
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDisplayConnection",u"addEventHandler"),
201
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDisplayConnection",u"removeEventHandler"),
202
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDisplayConnection",u"addErrorHandler"),
203
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XDisplayConnection",u"removeErrorHandler"),
204
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"addTopWindowListener"),
205
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"removeTopWindowListener"),
206
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"addKeyHandler"),
207
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"removeKeyHandler"),
208
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"addFocusListener"),
209
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"removeFocusListener"),
210
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"fireFocusGained"),
211
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XExtendedToolkit",u"fireFocusLost"),
212
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFileDialog",u"setPath"),
213
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFileDialog",u"setFilters"),
214
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFileDialog",u"setCurrentFilter"),
215
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedHyperlink",u"setText"),
216
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedHyperlink",u"setURL"),
217
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedHyperlink",u"setAlignment"),
218
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedHyperlink",u"addActionListener"),
219
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedHyperlink",u"removeActionListener"),
220
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedText",u"setText"),
221
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFixedText",u"setAlignment"),
222
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFocusListener",u"focusGained"),
223
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XFocusListener",u"focusLost"),
224
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setFont"),
225
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"selectFont"),
226
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setTextColor"),
227
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setTextFillColor"),
228
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setLineColor"),
229
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setFillColor"),
230
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setRasterOp"),
231
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"setClipRegion"),
232
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"intersectClipRegion"),
233
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"push"),
234
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"pop"),
235
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"copy"),
236
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"draw"),
237
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawPixel"),
238
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawLine"),
239
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawRect"),
240
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawRoundedRect"),
241
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawPolyLine"),
242
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawPolygon"),
243
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawPolyPolygon"),
244
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawEllipse"),
245
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawArc"),
246
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawPie"),
247
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawChord"),
248
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawGradient"),
249
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawText"),
250
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XGraphics",u"drawTextArray"),
251
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageButton",u"addActionListener"),
252
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageButton",u"removeActionListener"),
253
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageButton",u"setActionCommand"),
254
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageConsumer",u"init"),
255
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageConsumer",u"setColorModel"),
256
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageConsumer",u"setPixelsByBytes"),
257
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageConsumer",u"setPixelsByLongs"),
258
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageConsumer",u"complete"),
259
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageProducer",u"addConsumer"),
260
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageProducer",u"removeConsumer"),
261
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XImageProducer",u"startProduction"),
262
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XItemEventBroadcaster",u"addItemListener"),
263
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XItemEventBroadcaster",u"removeItemListener"),
264
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XItemListener",u"itemStateChanged"),
265
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XKeyListener",u"keyPressed"),
266
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XKeyListener",u"keyReleased"),
267
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"addItemListener"),
268
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"removeItemListener"),
269
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"addActionListener"),
270
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"removeActionListener"),
271
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"addItem"),
272
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"addItems"),
273
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"removeItems"),
274
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"selectItemPos"),
275
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"selectItemsPos"),
276
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"selectItem"),
277
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"setMultipleMode"),
278
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"setDropDownLineCount"),
279
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XListBox",u"makeVisible"),
280
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"addMenuListener"),
281
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"removeMenuListener"),
282
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"insertItem"),
283
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"removeItem"),
284
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"enableItem"),
285
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"setItemText"),
286
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenu",u"setPopupMenu"),
287
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenuListener",u"highlight"),
288
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenuListener",u"select"),
289
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenuListener",u"activate"),
290
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMenuListener",u"deactivate"),
291
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMessageBox",u"setCaptionText"),
292
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMessageBox",u"setMessageText"),
293
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMouseListener",u"mousePressed"),
294
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMouseListener",u"mouseReleased"),
295
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMouseListener",u"mouseEntered"),
296
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XMouseListener",u"mouseExited"),
297
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setValue"),
298
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setMin"),
299
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setMax"),
300
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setFirst"),
301
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setLast"),
302
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setSpinSize"),
303
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setDecimalDigits"),
304
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XNumericField",u"setStrictFormat"),
305
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPaintListener",u"windowPaint"),
306
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPatternField",u"setMasks"),
307
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPatternField",u"setString"),
308
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPatternField",u"setStrictFormat"),
309
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPointer",u"setType"),
310
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPopupMenu",u"insertSeparator"),
311
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPopupMenu",u"setDefaultItem"),
312
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XPopupMenu",u"checkItem"),
313
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressBar",u"setForegroundColor"),
314
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressBar",u"setBackgroundColor"),
315
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressBar",u"setRange"),
316
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressBar",u"setValue"),
317
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressMonitor",u"addText"),
318
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressMonitor",u"removeText"),
319
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XProgressMonitor",u"updateText"),
320
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRadioButton",u"addItemListener"),
321
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRadioButton",u"removeItemListener"),
322
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRadioButton",u"setState"),
323
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRadioButton",u"setLabel"),
324
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"clear"),
325
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"move"),
326
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"unionRectangle"),
327
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"intersectRectangle"),
328
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"excludeRectangle"),
329
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"xOrRectangle"),
330
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"unionRegion"),
331
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"intersectRegion"),
332
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"excludeRegion"),
333
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XRegion",u"xOrRegion"),
334
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"addAdjustmentListener"),
335
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"removeAdjustmentListener"),
336
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setValue"),
337
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setValues"),
338
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setMaximum"),
339
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setLineIncrement"),
340
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setBlockIncrement"),
341
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setVisibleSize"),
342
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XScrollBar",u"setOrientation"),
343
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"addSpinListener"),
344
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"removeSpinListener"),
345
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"up"),
346
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"down"),
347
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"first"),
348
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"last"),
349
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinField",u"enableRepeat"),
350
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinListener",u"up"),
351
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinListener",u"down"),
352
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinListener",u"first"),
353
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinListener",u"last"),
354
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"addAdjustmentListener"),
355
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"removeAdjustmentListener"),
356
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"setValue"),
357
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"setValues"),
358
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"setMinimum"),
359
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"setMaximum"),
360
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XSpinValue",u"setSpinIncrement"),
361
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"setModel"),
362
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"setContainer"),
363
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"autoTabOrder"),
364
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"activateTabOrder"),
365
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"activateFirst"),
366
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabController",u"activateLast"),
367
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabControllerModel",u"setGroupControl"),
368
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabControllerModel",u"setControlModels"),
369
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTabControllerModel",u"setGroup"),
370
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"addTextListener"),
371
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"removeTextListener"),
372
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"setText"),
373
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"insertText"),
374
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"setSelection"),
375
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"setEditable"),
376
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextComponent",u"setMaxTextLen"),
377
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextEditField",u"setEchoChar"),
378
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTextListener",u"textChanged"),
379
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setTime"),
380
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setMin"),
381
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setMax"),
382
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setFirst"),
383
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setLast"),
384
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTimeField",u"setStrictFormat"),
385
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindow",u"addTopWindowListener"),
386
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindow",u"removeTopWindowListener"),
387
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindow",u"toFront"),
388
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindow",u"toBack"),
389
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindow",u"setMenuBar"),
390
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowOpened"),
391
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowClosing"),
392
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowClosed"),
393
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowMinimized"),
394
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowNormalized"),
395
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowActivated"),
396
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XTopWindowListener",u"windowDeactivated"),
397
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUnoControlContainer",u"setTabControllers"),
398
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUnoControlContainer",u"addTabController"),
399
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUnoControlContainer",u"removeTabController"),
400
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUserInputInterception",u"addKeyHandler"),
401
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUserInputInterception",u"removeKeyHandler"),
402
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUserInputInterception",u"addMouseClickHandler"),
403
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XUserInputInterception",u"removeMouseClickHandler"),
404
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainer",u"addVclContainerListener"),
405
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainer",u"removeVclContainerListener"),
406
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainerListener",u"windowAdded"),
407
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainerListener",u"windowRemoved"),
408
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainerPeer",u"enableDialogControl"),
409
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainerPeer",u"setTabOrder"),
410
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclContainerPeer",u"setGroup"),
411
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclWindowPeer",u"setDesignMode"),
412
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclWindowPeer",u"enableClipSiblings"),
413
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclWindowPeer",u"setForeground"),
414
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XVclWindowPeer",u"setControlFont"),
415
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XView",u"draw"),
416
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XView",u"setZoom"),
417
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"setPosSize"),
418
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"setVisible"),
419
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"setEnable"),
420
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"setFocus"),
421
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addWindowListener"),
422
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removeWindowListener"),
423
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addFocusListener"),
424
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removeFocusListener"),
425
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addKeyListener"),
426
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removeKeyListener"),
427
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addMouseListener"),
428
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removeMouseListener"),
429
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addMouseMotionListener"),
430
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removeMouseMotionListener"),
431
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"addPaintListener"),
432
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindow",u"removePaintListener"),
433
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener",u"windowResized"),
434
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener",u"windowMoved"),
435
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener",u"windowShown"),
436
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener",u"windowHidden"),
437
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener2",u"windowEnabled"),
438
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowListener2",u"windowDisabled"),
439
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowPeer",u"setPointer"),
440
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowPeer",u"setBackground"),
441
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowPeer",u"invalidate"),
442
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.XWindowPeer",u"invalidateRect"),
443
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.grid.XGridSelectionListener",u"selectionChanged"),
444
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.tab.XTabPageContainer",u"addTabPageContainerListener"),
445
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.tab.XTabPageContainer",u"removeTabPageContainerListener"),
446
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.awt.tab.XTabPageContainerListener",u"tabPageActivated"),
447
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.configuration.backend.XBackendChangesNotifier",u"addChangesListener"),
448
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.configuration.backend.XBackendChangesNotifier",u"removeChangesListener"),
449
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.clipboard.XClipboard",u"setContents"),
450
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.clipboard.XClipboardListener",u"changedContents"),
451
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.clipboard.XClipboardNotifier",u"addClipboardListener"),
452
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.clipboard.XClipboardNotifier",u"removeClipboardListener"),
453
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.clipboard.XClipboardOwner",u"lostOwnership"),
454
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XAutoscroll",u"autoscroll"),
455
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragGestureListener",u"dragGestureRecognized"),
456
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragGestureRecognizer",u"addDragGestureListener"),
457
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragGestureRecognizer",u"removeDragGestureListener"),
458
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSource",u"startDrag"),
459
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceContext",u"setCursor"),
460
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceContext",u"setImage"),
461
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceContext",u"transferablesFlavorsChanged"),
462
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceListener",u"dragDropEnd"),
463
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceListener",u"dragEnter"),
464
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceListener",u"dragExit"),
465
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceListener",u"dragOver"),
466
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDragSourceListener",u"dropActionChanged"),
467
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTarget",u"addDropTargetListener"),
468
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTarget",u"removeDropTargetListener"),
469
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTarget",u"setDefaultActions"),
470
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetDragContext",u"acceptDrag"),
471
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetDragContext",u"rejectDrag"),
472
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetDropContext",u"acceptDrop"),
473
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetDropContext",u"rejectDrop"),
474
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetDropContext",u"dropComplete"),
475
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetListener",u"dragEnter"),
476
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetListener",u"dragExit"),
477
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetListener",u"dragOver"),
478
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.datatransfer.dnd.XDropTargetListener",u"dropActionChanged"),
479
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.document.XEventBroadcaster",u"addEventListener"),
480
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.document.XEventBroadcaster",u"removeEventListener"),
481
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.document.XEventListener",u"notifyEvent"),
482
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.document.XStorageChangeListener",u"notifyStorageChange"),
483
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.drawing.XControlShape",u"setControl"),
484
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XApproveActionBroadcaster",u"addApproveActionListener"),
485
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XApproveActionBroadcaster",u"removeApproveActionListener"),
486
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XBoundControl",u"setLock"),
487
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XChangeBroadcaster",u"addChangeListener"),
488
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XChangeBroadcaster",u"removeChangeListener"),
489
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XChangeListener",u"changed"),
490
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XConfirmDeleteBroadcaster",u"addConfirmDeleteListener"),
491
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XConfirmDeleteBroadcaster",u"removeConfirmDeleteListener"),
492
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XDatabaseParameterBroadcaster",u"addParameterListener"),
493
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XDatabaseParameterBroadcaster",u"removeParameterListener"),
494
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XDatabaseParameterBroadcaster2",u"addDatabaseParameterListener"),
495
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XDatabaseParameterBroadcaster2",u"removeDatabaseParameterListener"),
496
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XErrorBroadcaster",u"addErrorListener"),
497
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XErrorBroadcaster",u"removeErrorListener"),
498
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XFormController",u"addActivateListener"),
499
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XFormController",u"removeActivateListener"),
500
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XFormControllerListener",u"formActivated"),
501
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XFormControllerListener",u"formDeactivated"),
502
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XGrid",u"setCurrentColumnPosition"),
503
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XGridPeer",u"setColumns"),
504
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadListener",u"loaded"),
505
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadListener",u"unloading"),
506
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadListener",u"unloaded"),
507
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadListener",u"reloading"),
508
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadListener",u"reloaded"),
509
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadable",u"load"),
510
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadable",u"unload"),
511
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadable",u"reload"),
512
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadable",u"addLoadListener"),
513
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XLoadable",u"removeLoadListener"),
514
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XPositioningListener",u"positioned"),
515
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XReset",u"reset"),
516
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XReset",u"addResetListener"),
517
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XReset",u"removeResetListener"),
518
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XResetListener",u"resetted"),
519
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XSubmit",u"submit"),
520
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XSubmit",u"addSubmitListener"),
521
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XSubmit",u"removeSubmitListener"),
522
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XUpdateBroadcaster",u"addUpdateListener"),
523
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.form.XUpdateBroadcaster",u"removeUpdateListener"),
524
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XBrowseHistoryRegistry",u"updateViewData"),
525
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XBrowseHistoryRegistry",u"createNewEntry"),
526
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XConfigManager",u"addPropertyChangeListener"),
527
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XConfigManager",u"removePropertyChangeListener"),
528
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XConfigManager",u"flush"),
529
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDesktop",u"addTerminateListener"),
530
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDesktop",u"removeTerminateListener"),
531
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDispatch",u"dispatch"),
532
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDispatch",u"addStatusListener"),
533
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDispatch",u"removeStatusListener"),
534
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XDocumentTemplates",u"update"),
535
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"setCreator"),
536
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"setName"),
537
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"activate"),
538
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"deactivate"),
539
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"addFrameActionListener"),
540
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrame",u"removeFrameActionListener"),
541
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrameActionListener",u"frameAction"),
542
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrameLoader",u"load"),
543
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XFrameLoader",u"cancel"),
544
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XLoadEventListener",u"loadFinished"),
545
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XLoadEventListener",u"loadCancelled"),
546
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XModel",u"connectController"),
547
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XModel",u"disconnectController"),
548
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XModel",u"lockControllers"),
549
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XModel",u"unlockControllers"),
550
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XNotifyingDispatch",u"dispatchWithNotification"),
551
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XRecordableDispatch",u"dispatchAndRecord"),
552
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerClient",u"addSessionManagerListener"),
553
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerClient",u"removeSessionManagerListener"),
554
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerClient",u"queryInteraction"),
555
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerClient",u"interactionDone"),
556
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerClient",u"saveDone"),
557
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerListener",u"doSave"),
558
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerListener",u"approveInteraction"),
559
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerListener",u"shutdownCanceled"),
560
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XSessionManagerListener2",u"doQuit"),
561
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XStatusListener",u"statusChanged"),
562
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XTask",u"tileWindows"),
563
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XTask",u"arrangeWindowsVertical"),
564
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XTask",u"arrangeWindowsHorizontal"),
565
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.frame.XWindowArranger",u"arrange"),
566
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.inspection.XPropertyControlContext",u"activateNextControl"),
567
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.inspection.XPropertyControlObserver",u"focusGained"),
568
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.inspection.XPropertyControlObserver",u"valueChanged"),
569
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XCloseSessionListener",u"sessionClosed"),
570
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XMenuProxy",u"addMenuProxyListener"),
571
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XMenuProxy",u"removeMenuProxyListener"),
572
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"start"),
573
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"stop"),
574
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"destroy"),
575
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"createWindow"),
576
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"newStream"),
577
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstance",u"newURL"),
578
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstanceNotifySink",u"notifyURL"),
579
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstancePeer",u"showStatusMessage"),
580
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstancePeer",u"enableScripting"),
581
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstancePeer",u"newStream"),
582
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstancePeer",u"getURL"),
583
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginInstancePeer",u"postURL"),
584
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.mozilla.XPluginWindowPeer",u"setChildWindow"),
585
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.script.vba.XVBACompatibility",u"addVBAScriptListener"),
586
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.script.vba.XVBACompatibility",u"removeVBAScriptListener"),
587
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XDatabaseAccess",u"addDatabaseAccessListener"),
588
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XDatabaseAccess",u"removeDatabaseAccessListener"),
589
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XDatabaseAccessListener",u"connectionChanged"),
590
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XDatabaseAccessListener",u"connectionClosing"),
591
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XRowSetApproveBroadcaster",u"addRowSetApproveListener"),
592
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XRowSetApproveBroadcaster",u"removeRowSetApproveListener"),
593
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XRowSetChangeListener",u"onRowSetChanged"),
594
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XRowSetSupplier",u"setRowSet"),
595
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XRowsChangeListener",u"rowsChanged"),
596
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XSQLErrorBroadcaster",u"addSQLErrorListener"),
597
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdb.XSQLErrorBroadcaster",u"removeSQLErrorListener"),
598
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdbc.XRowSet",u"addRowSetListener"),
599
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdbc.XRowSet",u"removeRowSetListener"),
600
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdbc.XRowSetListener",u"cursorMoved"),
601
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdbc.XRowSetListener",u"rowChanged"),
602
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sdbc.XRowSetListener",u"rowSetChanged"),
603
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sheet.XCalculatable",u"enableAutomaticCalculation"),
604
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sheet.XVolatileResult",u"addResultListener"),
605
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.sheet.XVolatileResult",u"removeResultListener"),
606
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XJobExecutor",u"trigger"),
607
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XStatusIndicator",u"start"),
608
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XStatusIndicator",u"end"),
609
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XStatusIndicator",u"setText"),
610
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XStatusIndicator",u"setValue"),
611
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.task.XStatusIndicator",u"reset"),
612
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.text.XSimpleText",u"insertString"),
613
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.text.XTextCursor",u"collapseToStart"),
614
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.text.XTextCursor",u"collapseToEnd"),
615
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.text.XTextRange",u"setString"),
616
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.text.XTextViewCursor",u"setVisible"),
617
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XCommandProcessor",u"abort"),
618
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XCommandProcessor2",u"releaseCommandIdentifier"),
619
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XContent",u"addContentEventListener"),
620
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XContent",u"removeContentEventListener"),
621
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XContentProviderManager",u"deregisterContentProvider"),
622
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XContentTransmitter",u"transmit"),
623
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ucb.XPropertySetRegistry",u"removePropertySet"),
624
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ui.XUIConfigurationListener",u"elementInserted"),
625
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ui.XUIConfigurationListener",u"elementRemoved"),
626
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ui.XUIConfigurationListener",u"elementReplaced"),
627
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ui.dialogs.XFilePickerNotifier",u"addFilePickerListener"),
628
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.ui.dialogs.XFilePickerNotifier",u"removeFilePickerListener"),
629
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XBroadcaster",u"lockBroadcasts"),
630
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XBroadcaster",u"unlockBroadcasts"),
631
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XChangesListener",u"changesOccurred"),
632
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XChangesNotifier",u"addChangesListener"),
633
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XChangesNotifier",u"removeChangesListener"),
634
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XCloseBroadcaster",u"addCloseListener"),
635
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XCloseBroadcaster",u"removeCloseListener"),
636
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XFlushable",u"addFlushListener"),
637
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XFlushable",u"removeFlushListener"),
638
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XModeChangeListener",u"modeChanged"),
639
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XModifyBroadcaster",u"addModifyListener"),
640
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XModifyBroadcaster",u"removeModifyListener"),
641
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XRefreshable",u"addRefreshListener"),
642
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XRefreshable",u"removeRefreshListener"),
643
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.util.XSearchDescriptor",u"setSearchString"),
644
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintJobBroadcaster",u"addPrintJobListener"),
645
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintJobBroadcaster",u"removePrintJobListener"),
646
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintJobListener",u"printJobEvent"),
647
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintableBroadcaster",u"addPrintableListener"),
648
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintableBroadcaster",u"removePrintableListener"),
649
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XPrintableListener",u"stateChanged"),
650
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.view.XSelectionChangeListener",u"selectionChanged"),
651
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.beans.XMultiPropertySet",u"addPropertiesChangeListener"),
652
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.beans.XMultiPropertySet",u"removePropertiesChangeListener"),
653
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.beans.XMultiPropertySet",u"firePropertiesChangeEvent"),
654
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.beans.XPropertiesChangeNotifier",u"addPropertiesChangeListener"),
655
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.beans.XPropertiesChangeNotifier",u"removePropertiesChangeListener"),
656
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XContainer",u"addContainerListener"),
657
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XContainer",u"removeContainerListener"),
658
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XContainerListener",u"elementInserted"),
659
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XContainerListener",u"elementRemoved"),
660
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XContainerListener",u"elementReplaced"),
661
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.container.XNamed",u"setName"),
662
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataExporter",u"exportData"),
663
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataExporter",u"cancel"),
664
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataImporter",u"importData"),
665
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataImporter",u"cancel"),
666
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataTransferEventListener",u"finished"),
667
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.io.XDataTransferEventListener",u"cancelled"),
668
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.lang.XConnectionPointContainer",u"advise"),
669
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.lang.XConnectionPointContainer",u"unadvise"),
670
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.script.XAllListener",u"firing"),
671
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.uno.XInterface",u"acquire"),
672
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.uno.XInterface",u"release"),
673
0
            pair<std::u16string_view,std::u16string_view>(u"com.sun.star.uno.XReference",u"dispose")};
674
675
0
        pair<std::u16string_view,std::u16string_view> k(_rListenerType, _rMethodName);
676
0
        return delayed_event_listeners.find(k) != delayed_event_listeners.end();
677
0
    }
678
679
680
    void FormScriptListener::impl_doFireScriptEvent_nothrow( std::unique_lock<std::mutex>& _rGuard, const ScriptEvent& _rEvent, Any* _pSynchronousResult )
681
0
    {
682
0
        OSL_PRECOND( m_pScriptExecutor, "FormScriptListener::impl_doFireScriptEvent_nothrow: this will crash!" );
683
684
0
        _rGuard.unlock();
685
0
        m_pScriptExecutor->doFireScriptEvent( _rEvent, _pSynchronousResult );
686
0
    }
687
688
689
    void SAL_CALL FormScriptListener::firing( const ScriptEvent& _rEvent )
690
0
    {
691
0
        if ( _rEvent.ScriptType == "VBAInterop" )
692
0
           return; // not handled here
693
694
0
        std::unique_lock aGuard( m_aMutex );
695
696
0
        if ( impl_isDisposed_nothrow() )
697
0
            return;
698
699
0
        if ( !impl_allowAsynchronousCall_nothrow( _rEvent.ListenerType.getTypeName(), _rEvent.MethodName ) )
700
0
        {
701
0
            impl_doFireScriptEvent_nothrow( aGuard, _rEvent, nullptr );
702
0
            return;
703
0
        }
704
705
0
        acquire();
706
0
        Application::PostUserEvent( LINK( this, FormScriptListener, OnAsyncScriptEvent ), new ScriptEvent( _rEvent ) );
707
0
    }
708
709
710
    Any SAL_CALL FormScriptListener::approveFiring( const ScriptEvent& _rEvent )
711
0
    {
712
0
        Any aResult;
713
714
0
        std::unique_lock aGuard( m_aMutex );
715
0
        if ( !impl_isDisposed_nothrow() )
716
0
            impl_doFireScriptEvent_nothrow( aGuard, _rEvent, &aResult );
717
718
0
        return aResult;
719
0
    }
720
721
722
    void SAL_CALL FormScriptListener::disposing( const EventObject& /*Source*/ )
723
0
    {
724
        // not interested in
725
0
    }
726
727
728
    void FormScriptListener::dispose()
729
162k
    {
730
162k
        std::unique_lock aGuard( m_aMutex );
731
162k
        m_pScriptExecutor = nullptr;
732
162k
    }
733
734
    IMPL_LINK( FormScriptListener, OnAsyncScriptEvent, void*, p, void )
735
0
    {
736
0
        ScriptEvent* _pEvent = static_cast<ScriptEvent*>(p);
737
0
        OSL_PRECOND( _pEvent != nullptr, "FormScriptListener::OnAsyncScriptEvent: invalid event!" );
738
0
        if ( !_pEvent )
739
0
            return;
740
741
0
        {
742
0
            std::unique_lock aGuard( m_aMutex );
743
744
0
            if ( !impl_isDisposed_nothrow() )
745
0
                impl_doFireScriptEvent_nothrow( aGuard, *_pEvent, nullptr );
746
0
        }
747
748
0
        delete _pEvent;
749
        // we acquired ourself immediately before posting the event
750
0
        release();
751
0
    }
752
753
    FormScriptingEnvironment::FormScriptingEnvironment( FmFormModel& _rModel )
754
162k
        :m_rFormModel( _rModel )
755
162k
        ,m_bDisposed( false )
756
162k
    {
757
162k
        m_pScriptListener = new FormScriptListener( this );
758
        // note that this is a cyclic reference between the FormScriptListener and the FormScriptingEnvironment
759
        // This cycle is broken up when our instance is disposed.
760
162k
    }
761
762
    void FormScriptingEnvironment::impl_registerOrRevoke_throw( const Reference< XEventAttacherManager >& _rxManager, bool _bRegister )
763
0
    {
764
0
        std::unique_lock aGuard( m_aMutex );
765
766
0
        if ( !_rxManager.is() )
767
0
            throw IllegalArgumentException();
768
0
        if ( m_bDisposed )
769
0
            throw DisposedException();
770
771
0
        try
772
0
        {
773
0
            if ( _bRegister )
774
0
                _rxManager->addScriptListener( m_pScriptListener );
775
0
            else
776
0
                _rxManager->removeScriptListener( m_pScriptListener );
777
0
        }
778
0
        catch( const RuntimeException& ) { throw; }
779
0
        catch( const Exception& )
780
0
        {
781
0
            DBG_UNHANDLED_EXCEPTION("svx");
782
0
        }
783
0
    }
784
785
786
    void FormScriptingEnvironment::registerEventAttacherManager( const Reference< XEventAttacherManager >& _rxManager )
787
0
    {
788
0
        impl_registerOrRevoke_throw( _rxManager, true );
789
0
    }
790
791
792
    void FormScriptingEnvironment::revokeEventAttacherManager( const Reference< XEventAttacherManager >& _rxManager )
793
0
    {
794
0
        impl_registerOrRevoke_throw( _rxManager, false );
795
0
    }
796
797
#if HAVE_FEATURE_SCRIPTING
798
    namespace
799
    {
800
        class NewStyleUNOScript
801
        {
802
            SfxObjectShell&         m_rObjectShell;
803
            const OUString   m_sScriptCode;
804
805
        public:
806
            NewStyleUNOScript( SfxObjectShell& _rObjectShell, OUString _aScriptCode )
807
                :m_rObjectShell( _rObjectShell )
808
                ,m_sScriptCode(std::move( _aScriptCode ))
809
            {
810
            }
811
812
            void invoke( const Sequence< Any >& _rArguments, Any& _rSynchronousResult );
813
        };
814
815
816
        void NewStyleUNOScript::invoke( const Sequence< Any >& _rArguments, Any& _rSynchronousResult )
817
        {
818
            Sequence< sal_Int16 > aOutArgsIndex;
819
            Sequence< Any > aOutArgs;
820
            EventObject aEvent;
821
            Any aCaller;
822
            if ( _rArguments.hasElements() && ( _rArguments[ 0 ] >>= aEvent ) )
823
            {
824
                try
825
                {
826
                    Reference< XControl > xControl( aEvent.Source, UNO_QUERY_THROW );
827
                    Reference< XPropertySet > xProps( xControl->getModel(), UNO_QUERY_THROW );
828
                    aCaller = xProps->getPropertyValue(u"Name"_ustr);
829
                }
830
                catch( Exception& ) {}
831
            }
832
            m_rObjectShell.CallXScript( m_sScriptCode, _rArguments, _rSynchronousResult, aOutArgsIndex, aOutArgs, true, aCaller.hasValue() ? &aCaller : nullptr );
833
        }
834
    }
835
#endif
836
837
    void FormScriptingEnvironment::doFireScriptEvent( const ScriptEvent& _rEvent, Any* _pSynchronousResult )
838
0
    {
839
0
#if !HAVE_FEATURE_SCRIPTING
840
0
        (void) _rEvent;
841
0
        (void) _pSynchronousResult;
842
0
        (void) m_rFormModel;
843
#else
844
        SolarMutexClearableGuard aSolarGuard;
845
        std::unique_lock aGuard( m_aMutex );
846
847
        if ( m_bDisposed )
848
            return;
849
850
        // SfxObjectShellRef is good here since the model controls the lifetime of the object
851
        SfxObjectShellRef xObjectShell = m_rFormModel.GetObjectShell();
852
        if( !xObjectShell.is() )
853
            return;
854
855
        // the script to execute
856
        std::shared_ptr< NewStyleUNOScript > pScript;
857
858
        if ( _rEvent.ScriptType != "StarBasic" )
859
        {
860
            pScript = std::make_shared<NewStyleUNOScript>( *xObjectShell, _rEvent.ScriptCode );
861
        }
862
        else
863
        {
864
            OUString sScriptCode = _rEvent.ScriptCode;
865
            OUString sMacroLocation;
866
867
            // is there a location in the script name ("application" or "document")?
868
            sal_Int32 nPrefixLen = sScriptCode.indexOf( ':' );
869
            DBG_ASSERT( 0 <= nPrefixLen, "FormScriptingEnvironment::doFireScriptEvent: Basic script name in old format encountered!" );
870
871
            if ( 0 <= nPrefixLen )
872
            {
873
                // and it has such a prefix
874
                sMacroLocation = sScriptCode.copy( 0, nPrefixLen );
875
                DBG_ASSERT( sMacroLocation == "document"
876
                        ||  sMacroLocation == "application",
877
                        "FormScriptingEnvironment::doFireScriptEvent: invalid (unknown) prefix!" );
878
879
                // strip the prefix: the SfxObjectShell::CallScript knows nothing about such prefixes
880
                sScriptCode = sScriptCode.copy( nPrefixLen + 1 );
881
            }
882
883
            if ( sMacroLocation.isEmpty() )
884
            {
885
                // legacy format: use the app-wide Basic, if it has a respective method, otherwise fall back to the doc's Basic
886
                if ( SfxApplication::GetBasicManager()->HasMacro( sScriptCode ) )
887
                    sMacroLocation = "application";
888
                else
889
                    sMacroLocation = "document";
890
            }
891
892
            OUString sScriptURI = "vnd.sun.star.script:" +
893
                sScriptCode +
894
                "?language=Basic&location=" +
895
                sMacroLocation;
896
897
            pScript = std::make_shared<NewStyleUNOScript>( *xObjectShell, sScriptURI );
898
        }
899
900
        assert(pScript && "FormScriptingEnvironment::doFireScriptEvent: no script to execute!");
901
902
        aGuard.unlock();
903
        aSolarGuard.clear();
904
905
        Any aIgnoreResult;
906
        pScript->invoke( _rEvent.Arguments, _pSynchronousResult ? *_pSynchronousResult : aIgnoreResult );
907
        pScript.reset();
908
909
        {
910
            // object shells are not thread safe, so guard the destruction
911
            SolarMutexGuard aSolarGuarsReset;
912
            xObjectShell = nullptr;
913
        }
914
#endif
915
0
    }
916
917
918
    void FormScriptingEnvironment::dispose()
919
162k
    {
920
162k
        rtl::Reference<FormScriptListener> xListener;
921
162k
        {
922
162k
            std::unique_lock aGuard( m_aMutex );
923
162k
            if (m_bDisposed)
924
0
                return;
925
162k
            m_bDisposed = true;
926
162k
            xListener = std::move(m_pScriptListener);
927
162k
        }
928
0
        xListener->dispose();
929
162k
    }
930
931
}
932
933
934
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */