LibreOffice Module basic (master) 1
sbunoobj.hxx
Go to the documentation of this file.
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#pragma once
20
21#include <basic/sbxobj.hxx>
22#include <basic/sbxmeth.hxx>
23#include <sbxprop.hxx>
24#include <sbxfac.hxx>
25#include <basic/sbx.hxx>
26#include <com/sun/star/beans/XMaterialHolder.hpp>
27#include <com/sun/star/beans/XExactName.hpp>
28#include <com/sun/star/beans/XIntrospectionAccess.hpp>
29#include <com/sun/star/lang/XComponent.hpp>
30#include <com/sun/star/script/XInvocation.hpp>
31#include <com/sun/star/reflection/XIdlClass.hpp>
32#include <com/sun/star/reflection/XServiceTypeDescription2.hpp>
33#include <rtl/ustring.hxx>
34#include <o3tl/string_view.hxx>
35
36#include <string_view>
37#include <unordered_map>
38#include <utility>
39#include <vector>
40#include <map>
41
42void registerComponentToBeDisposedForBasic( const css::uno::Reference< css::lang::XComponent >& xComponent, StarBASIC* pBasic );
43
45{
46 css::uno::Any& maAny;
47 css::uno::Type maType;
48 sal_Int32 mnPos;
49public:
50 StructRefInfo( css::uno::Any& aAny, css::uno::Type const & rType, sal_Int32 nPos ) : maAny( aAny ), maType( rType ), mnPos( nPos ) {}
51
52 sal_Int32 getPos() const { return mnPos; }
53 const css::uno::Type& getType() const { return maType; }
54 OUString getTypeName() const;
55 css::uno::Any& getRootAnyRef() { return maAny; };
56
57 css::uno::TypeClass getTypeClass() const;
58
59 void* getInst();
60 bool isEmpty() const { return (mnPos == -1); }
61
62 css::uno::Any getValue();
63 void setValue( const css::uno::Any& );
64};
65
66class SbUnoStructRefObject final : public SbxObject
67{
69 {
70 bool operator() (std::u16string_view rProp, std::u16string_view rOtherProp ) const
71 {
72 return o3tl::compareToIgnoreAsciiCase( rProp, rOtherProp ) < 0;
73 }
74 };
75 typedef std::map< OUString, std::unique_ptr<StructRefInfo>, caseLessComp > StructFieldInfo;
79 void implCreateAll();
81 void initMemberCache();
82 OUString Impl_DumpProperties();
83 OUString getDbgObjectName() const;
84public:
85 StructRefInfo getStructMember( const OUString& rMember );
86 const StructRefInfo& getStructInfo() const { return maMemberInfo; }
87 SbUnoStructRefObject( const OUString& aName_, StructRefInfo aMemberInfo );
88 virtual ~SbUnoStructRefObject() override;
89
90 // override Find to support e. g. NameAccess
91 virtual SbxVariable* Find( const OUString&, SbxClassType ) override;
92
93 // Force creation of all properties for debugging
95 { implCreateAll(); }
96
97 // give out value
98 css::uno::Any getUnoAny();
99 void Notify( SfxBroadcaster&, const SfxHint& rHint ) override;
100};
101
103{
104 css::uno::Reference< css::beans::XIntrospectionAccess > mxUnoAccess;
105 css::uno::Reference< css::beans::XMaterialHolder > mxMaterialHolder;
106 css::uno::Reference< css::script::XInvocation > mxInvocation;
107 css::uno::Reference< css::beans::XExactName > mxExactName;
108 css::uno::Reference< css::beans::XExactName > mxExactNameInvocation;
111 css::uno::Any maTmpUnoObj; // Only to save obj for doIntrospection!
112 std::shared_ptr< SbUnoStructRefObject > maStructInfo;
113 // help method to establish the dbg_-properties
115
116 // help method to establish all properties and methods
117 // (on the on-demand-mechanism required for the dbg_-properties)
118 void implCreateAll();
119
120public:
121 static bool getDefaultPropName( SbUnoObject const * pUnoObj, OUString& sDfltProp );
122 SbUnoObject( const OUString& aName_, const css::uno::Any& aUnoObj_ );
123 virtual ~SbUnoObject() override;
124
125 // #76470 do introspection on demand
126 void doIntrospection();
127
128 // override Find to support e. g. NameAccess
129 virtual SbxVariable* Find( const OUString&, SbxClassType ) override;
130
131 // Force creation of all properties for debugging
133 { implCreateAll(); }
134
135 // give out value
136 css::uno::Any getUnoAny();
137 const css::uno::Reference< css::beans::XIntrospectionAccess >& getIntrospectionAccess() const { return mxUnoAccess; }
138 const css::uno::Reference< css::script::XInvocation >& getInvocation() const { return mxInvocation; }
139
140 void Notify( SfxBroadcaster&, const SfxHint& rHint ) override;
141
142 bool isNativeCOMObject() const
143 { return bNativeCOMObject; }
144};
146
147// #67781 delete return values of the uno-methods
148void clearUnoMethods();
149void clearUnoMethodsForBasic( StarBASIC const * pBasic );
150
151class SbUnoMethod final : public SbxMethod
152{
153 friend class SbUnoObject;
154 friend void clearUnoMethods();
155 friend void clearUnoMethodsForBasic( StarBASIC const * pBasic );
156
157 css::uno::Reference< css::reflection::XIdlMethod > m_xUnoMethod;
158 std::unique_ptr<css::uno::Sequence< css::reflection::ParamInfo >> pParamInfoSeq;
159
160 // #67781 reference to the previous and the next method in the method list
163
164 bool mbInvocation; // Method is based on invocation
165
166public:
167
168 SbUnoMethod( const OUString& aName_, SbxDataType eSbxType, css::uno::Reference< css::reflection::XIdlMethod > const & xUnoMethod_,
169 bool bInvocation );
170 virtual ~SbUnoMethod() override;
171 virtual SbxInfo* GetInfo() override;
172
173 const css::uno::Sequence< css::reflection::ParamInfo >& getParamInfos();
174
175 bool isInvocationBased() const
176 { return mbInvocation; }
177};
178
179
180class SbUnoProperty final : public SbxProperty
181{
182 friend class SbUnoObject;
184
185 css::beans::Property aUnoProp;
186 sal_Int32 nId;
187
188 bool mbInvocation; // Property is based on invocation
190 virtual ~SbUnoProperty() override;
192 SbUnoProperty( const SbUnoProperty&) = delete;
194public:
195
196 SbUnoProperty( const OUString& aName_, SbxDataType eSbxType, SbxDataType eRealSbxType,
197 css::beans::Property aUnoProp_, sal_Int32 nId_, bool bInvocation, bool bUnoStruct );
198
199 bool isUnoStruct() const { return mbUnoStruct; }
200 bool isInvocationBased() const
201 { return mbInvocation; }
203};
204
205// factory class to create uno-structs per DIM AS NEW
206class SbUnoFactory final : public SbxFactory
207{
208public:
209 virtual SbxBaseRef Create( sal_uInt16 nSbxId, sal_uInt32 ) override;
210 virtual SbxObjectRef CreateObject( const OUString& ) override;
211};
212
213// wrapper for a uno-class
214class SbUnoClass final : public SbxObject
215{
216 const css::uno::Reference< css::reflection::XIdlClass > m_xClass;
217
218public:
219 SbUnoClass( const OUString& aName_ )
220 : SbxObject( aName_ )
221 {}
222 SbUnoClass( const OUString& aName_, css::uno::Reference< css::reflection::XIdlClass > xClass_ )
223 : SbxObject( aName_ )
224 , m_xClass(std::move( xClass_ ))
225 {}
226
227
228 virtual SbxVariable* Find( const OUString&, SbxClassType ) override;
229
230
231 const css::uno::Reference< css::reflection::XIdlClass >& getUnoClass() const { return m_xClass; }
232
233};
234
235
236// function to find a global identifier in
237// the UnoScope and to wrap it for Sbx
238SbUnoClass* findUnoClass( const OUString& rName );
239
240
241// Wrapper for UNO Service
242class SbUnoService final : public SbxObject
243{
244 const css::uno::Reference< css::reflection::XServiceTypeDescription2 > m_xServiceTypeDesc;
246
247public:
248 SbUnoService( const OUString& aName_,
249 css::uno::Reference< css::reflection::XServiceTypeDescription2 > xServiceTypeDesc )
250 : SbxObject( aName_ )
251 , m_xServiceTypeDesc(std::move( xServiceTypeDesc ))
252 , m_bNeedsInit( true )
253 {}
254
255 virtual SbxVariable* Find( const OUString&, SbxClassType ) override;
256
257 void Notify( SfxBroadcaster&, const SfxHint& rHint ) override;
258};
259
260SbUnoService* findUnoService( const OUString& rName );
261
262
263class SbUnoServiceCtor final : public SbxMethod
264{
265 friend class SbUnoService;
266
267 css::uno::Reference< css::reflection::XServiceConstructorDescription > m_xServiceCtorDesc;
268
269public:
270
271 SbUnoServiceCtor( const OUString& aName_, css::uno::Reference< css::reflection::XServiceConstructorDescription > const & xServiceCtorDesc );
272 virtual ~SbUnoServiceCtor() override;
273 virtual SbxInfo* GetInfo() override;
274
275 const css::uno::Reference< css::reflection::XServiceConstructorDescription >& getServiceCtorDesc() const
276 { return m_xServiceCtorDesc; }
277};
278
279
280// Wrapper for UNO Singleton
281class SbUnoSingleton final : public SbxObject
282{
283public:
284 SbUnoSingleton( const OUString& aName_ );
285
286 void Notify( SfxBroadcaster&, const SfxHint& rHint ) override;
287};
288
289SbUnoSingleton* findUnoSingleton( const OUString& rName );
290
291
292// #105565 Special Object to wrap a strongly typed Uno Any
293class SbUnoAnyObject final : public SbxObject
294{
295 css::uno::Any mVal;
296
297public:
298 SbUnoAnyObject( css::uno::Any rVal )
299 : SbxObject( OUString() )
300 , mVal(std::move( rVal ))
301 {}
302
303 const css::uno::Any& getValue() const
304 { return mVal; }
305
306};
307
308
309// #112509 Special SbxArray to transport named parameters for calls
310// to OLEAutomation objects through the UNO OLE automation bridge
311
313{
314 css::uno::Sequence< OUString > maNameSeq;
315public:
316 AutomationNamedArgsSbxArray( sal_Int32 nSeqSize )
317 : maNameSeq( nSeqSize )
318 {}
319
320 css::uno::Sequence< OUString >& getNames()
321 { return maNameSeq; }
322};
323
324
325class StarBASIC;
326
327// Impl-methods for RTL
333void RTL_Impl_HasInterfaces( SbxArray& rPar );
334void RTL_Impl_IsUnoStruct( SbxArray& rPar );
337
338void disposeComVariablesForBasic( StarBASIC const * pBasic );
340
341
342// #118116 Collection object
343
344class BasicCollection final : public SbxObject
345{
346 friend class SbiRuntime;
350
351 void Initialize();
352 virtual ~BasicCollection() override;
353 virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) override;
354 sal_Int32 implGetIndex( SbxVariable const * pIndexVar );
355 sal_Int32 implGetIndexForName(const OUString& rName);
356 void CollAdd( SbxArray* pPar_ );
357 void CollItem( SbxArray* pPar_ );
358 void CollRemove( SbxArray* pPar_ );
359
360public:
361 BasicCollection( const OUString& rClassname );
362 virtual void Clear() override;
363};
364
366{
367private:
368 std::vector< OUString > aConstCache;
369 std::unordered_map< OUString, css::uno::Any > aConstHash;
373 void init();
374public:
375 static VBAConstantHelper& instance();
376 SbxVariable* getVBAConstant( const OUString& rName );
377 bool isVBAConstantType( std::u16string_view rName );
378};
379
381
382css::uno::Reference< css::uno::XInterface > createComListener( const css::uno::Any& aControlAny,
383 const OUString& aVBAType,
384 std::u16string_view aPrefix,
385 const SbxObjectRef& xScopeObj );
386
387bool checkUnoObjectType(SbUnoObject& refVal, const OUString& aClass);
388
389SbUnoObject* createOLEObject_Impl( const OUString& aType );
390
391// #55226 ship additional information
393
395
396/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
css::uno::Sequence< OUString > maNameSeq
Definition: sbunoobj.hxx:314
AutomationNamedArgsSbxArray(sal_Int32 nSeqSize)
Definition: sbunoobj.hxx:316
css::uno::Sequence< OUString > & getNames()
Definition: sbunoobj.hxx:320
SbxArrayRef xItemArray
Definition: sbunoobj.hxx:347
void CollRemove(SbxArray *pPar_)
Definition: sb.cxx:2196
void CollItem(SbxArray *pPar_)
Definition: sb.cxx:2172
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
Definition: sb.cxx:2001
virtual ~BasicCollection() override
Definition: sb.cxx:1961
BasicCollection(const OUString &rClassname)
Definition: sb.cxx:1955
static SbxInfoRef xAddInfo
Definition: sbunoobj.hxx:348
sal_Int32 implGetIndex(SbxVariable const *pIndexVar)
Definition: sb.cxx:2058
sal_Int32 implGetIndexForName(const OUString &rName)
Definition: sb.cxx:2072
virtual void Clear() override
Definition: sb.cxx:1964
void CollAdd(SbxArray *pPar_)
Definition: sb.cxx:2094
void Initialize()
Definition: sb.cxx:1970
static SbxInfoRef xItemInfo
Definition: sbunoobj.hxx:349
const css::uno::Any & getValue() const
Definition: sbunoobj.hxx:303
SbUnoAnyObject(css::uno::Any rVal)
Definition: sbunoobj.hxx:298
css::uno::Any mVal
Definition: sbunoobj.hxx:295
SbUnoClass(const OUString &aName_)
Definition: sbunoobj.hxx:219
virtual SbxVariable * Find(const OUString &, SbxClassType) override
Definition: sbunoobj.cxx:3322
const css::uno::Reference< css::reflection::XIdlClass > m_xClass
Definition: sbunoobj.hxx:216
const css::uno::Reference< css::reflection::XIdlClass > & getUnoClass() const
Definition: sbunoobj.hxx:231
SbUnoClass(const OUString &aName_, css::uno::Reference< css::reflection::XIdlClass > xClass_)
Definition: sbunoobj.hxx:222
virtual SbxObjectRef CreateObject(const OUString &) override
Definition: sbunoobj.cxx:2874
virtual SbxBaseRef Create(sal_uInt16 nSbxId, sal_uInt32) override
Definition: sbunoobj.cxx:2868
friend void clearUnoMethods()
Definition: sbunoobj.cxx:2470
css::uno::Reference< css::reflection::XIdlMethod > m_xUnoMethod
Definition: sbunoobj.hxx:157
virtual ~SbUnoMethod() override
Definition: sbunoobj.cxx:2502
std::unique_ptr< css::uno::Sequence< css::reflection::ParamInfo > > pParamInfoSeq
Definition: sbunoobj.hxx:158
friend void clearUnoMethodsForBasic(StarBASIC const *pBasic)
Definition: sbunoobj.cxx:2429
SbUnoMethod * pPrev
Definition: sbunoobj.hxx:161
bool isInvocationBased() const
Definition: sbunoobj.hxx:175
bool mbInvocation
Definition: sbunoobj.hxx:164
const css::uno::Sequence< css::reflection::ParamInfo > & getParamInfos()
Definition: sbunoobj.cxx:2539
SbUnoMethod * pNext
Definition: sbunoobj.hxx:162
SbUnoMethod(const OUString &aName_, SbxDataType eSbxType, css::uno::Reference< css::reflection::XIdlMethod > const &xUnoMethod_, bool bInvocation)
Definition: sbunoobj.cxx:2482
virtual SbxInfo * GetInfo() override
Definition: sbunoobj.cxx:2514
css::uno::Reference< css::beans::XMaterialHolder > mxMaterialHolder
Definition: sbunoobj.hxx:105
css::uno::Reference< css::beans::XIntrospectionAccess > mxUnoAccess
Definition: sbunoobj.hxx:104
SbUnoObject(const OUString &aName_, const css::uno::Any &aUnoObj_)
Definition: sbunoobj.cxx:2284
void implCreateAll()
Definition: sbunoobj.cxx:2758
bool isNativeCOMObject() const
Definition: sbunoobj.hxx:142
css::uno::Any getUnoAny()
Definition: sbunoobj.cxx:2823
const css::uno::Reference< css::script::XInvocation > & getInvocation() const
Definition: sbunoobj.hxx:138
void doIntrospection()
Definition: sbunoobj.cxx:2375
virtual ~SbUnoObject() override
Definition: sbunoobj.cxx:2369
static bool getDefaultPropName(SbUnoObject const *pUnoObj, OUString &sDfltProp)
Definition: sbunoobj.cxx:113
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
Definition: sbunoobj.cxx:1982
void implCreateDbgProperties()
Definition: sbunoobj.cxx:2741
css::uno::Reference< css::script::XInvocation > mxInvocation
Definition: sbunoobj.hxx:106
bool bNativeCOMObject
Definition: sbunoobj.hxx:110
css::uno::Any maTmpUnoObj
Definition: sbunoobj.hxx:111
bool bNeedIntrospection
Definition: sbunoobj.hxx:109
const css::uno::Reference< css::beans::XIntrospectionAccess > & getIntrospectionAccess() const
Definition: sbunoobj.hxx:137
std::shared_ptr< SbUnoStructRefObject > maStructInfo
Definition: sbunoobj.hxx:112
virtual SbxVariable * Find(const OUString &, SbxClassType) override
Definition: sbunoobj.cxx:2578
css::uno::Reference< css::beans::XExactName > mxExactName
Definition: sbunoobj.hxx:107
css::uno::Reference< css::beans::XExactName > mxExactNameInvocation
Definition: sbunoobj.hxx:108
void createAllProperties()
Definition: sbunoobj.hxx:132
SbUnoProperty & operator=(const SbUnoProperty &)=delete
sal_Int32 nId
Definition: sbunoobj.hxx:186
bool mbUnoStruct
Definition: sbunoobj.hxx:191
SbUnoProperty(const OUString &aName_, SbxDataType eSbxType, SbxDataType eRealSbxType, css::beans::Property aUnoProp_, sal_Int32 nId_, bool bInvocation, bool bUnoStruct)
SbxDataType mRealType
Definition: sbunoobj.hxx:189
SbxDataType getRealType() const
Definition: sbunoobj.hxx:202
SbUnoProperty(const SbUnoProperty &)=delete
bool mbInvocation
Definition: sbunoobj.hxx:188
css::beans::Property aUnoProp
Definition: sbunoobj.hxx:185
virtual ~SbUnoProperty() override
Definition: sbunoobj.cxx:2574
bool isInvocationBased() const
Definition: sbunoobj.hxx:200
bool isUnoStruct() const
Definition: sbunoobj.hxx:199
virtual SbxInfo * GetInfo() override
Definition: sbunoobj.cxx:3675
const css::uno::Reference< css::reflection::XServiceConstructorDescription > & getServiceCtorDesc() const
Definition: sbunoobj.hxx:275
css::uno::Reference< css::reflection::XServiceConstructorDescription > m_xServiceCtorDesc
Definition: sbunoobj.hxx:267
SbUnoServiceCtor(const OUString &aName_, css::uno::Reference< css::reflection::XServiceConstructorDescription > const &xServiceCtorDesc)
Definition: sbunoobj.cxx:3665
virtual ~SbUnoServiceCtor() override
Definition: sbunoobj.cxx:3671
const css::uno::Reference< css::reflection::XServiceTypeDescription2 > m_xServiceTypeDesc
Definition: sbunoobj.hxx:244
virtual SbxVariable * Find(const OUString &, SbxClassType) override
Definition: sbunoobj.cxx:3473
bool m_bNeedsInit
Definition: sbunoobj.hxx:245
SbUnoService(const OUString &aName_, css::uno::Reference< css::reflection::XServiceTypeDescription2 > xServiceTypeDesc)
Definition: sbunoobj.hxx:248
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
Definition: sbunoobj.cxx:3514
SbUnoSingleton(const OUString &aName_)
Definition: sbunoobj.cxx:3706
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
Definition: sbunoobj.cxx:3713
OUString Impl_DumpProperties()
Definition: sbunoobj.cxx:4743
virtual ~SbUnoStructRefObject() override
Definition: sbunoobj.cxx:4623
const StructRefInfo & getStructInfo() const
Definition: sbunoobj.hxx:86
void implCreateDbgProperties()
Definition: sbunoobj.cxx:4692
OUString getDbgObjectName() const
Definition: sbunoobj.cxx:4888
StructFieldInfo maFields
Definition: sbunoobj.hxx:76
std::map< OUString, std::unique_ptr< StructRefInfo >, caseLessComp > StructFieldInfo
Definition: sbunoobj.hxx:75
SbUnoStructRefObject(const OUString &aName_, StructRefInfo aMemberInfo)
Definition: sbunoobj.cxx:4618
void createAllProperties()
Definition: sbunoobj.hxx:94
virtual SbxVariable * Find(const OUString &, SbxClassType) override
Definition: sbunoobj.cxx:4650
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
Definition: sbunoobj.cxx:4795
css::uno::Any getUnoAny()
Definition: sbunoobj.cxx:4738
StructRefInfo maMemberInfo
Definition: sbunoobj.hxx:77
StructRefInfo getStructMember(const OUString &rMember)
Definition: sbunoobj.cxx:4868
Definition: sbx.hxx:95
void * getInst()
Definition: sbunoobj.cxx:4608
css::uno::Any & maAny
Definition: sbunoobj.hxx:46
const css::uno::Type & getType() const
Definition: sbunoobj.hxx:53
sal_Int32 mnPos
Definition: sbunoobj.hxx:48
sal_Int32 getPos() const
Definition: sbunoobj.hxx:52
css::uno::Any getValue()
Definition: sbunoobj.cxx:4576
css::uno::TypeClass getTypeClass() const
Definition: sbunoobj.cxx:4613
void setValue(const css::uno::Any &)
Definition: sbunoobj.cxx:4590
css::uno::Any & getRootAnyRef()
Definition: sbunoobj.hxx:55
StructRefInfo(css::uno::Any &aAny, css::uno::Type const &rType, sal_Int32 nPos)
Definition: sbunoobj.hxx:50
css::uno::Type maType
Definition: sbunoobj.hxx:47
OUString getTypeName() const
Definition: sbunoobj.cxx:4603
bool isEmpty() const
Definition: sbunoobj.hxx:60
std::vector< OUString > aConstCache
Definition: sbunoobj.hxx:368
SbxVariable * getVBAConstant(const OUString &rName)
Definition: sbunoobj.cxx:3279
static VBAConstantHelper & instance()
Definition: sbunoobj.cxx:3212
VBAConstantHelper(const VBAConstantHelper &)=delete
bool isVBAConstantType(std::u16string_view rName)
Definition: sbunoobj.cxx:3262
std::unordered_map< OUString, css::uno::Any > aConstHash
Definition: sbunoobj.hxx:369
sal_uInt16 nPos
int compareToIgnoreAsciiCase(std::u16string_view s1, std::u16string_view s2)
SbUnoObject * createOLEObject_Impl(const OUString &aType)
Definition: sbunoobj.cxx:234
void clearNativeObjectWrapperVector()
Definition: sbunoobj.cxx:456
void clearUnoMethods()
Definition: sbunoobj.cxx:2470
void RTL_Impl_CreateUnoServiceWithArguments(SbxArray &rPar)
Definition: sbunoobj.cxx:2974
SbUnoClass * findUnoClass(const OUString &rName)
Definition: sbunoobj.cxx:3298
void clearUnoMethodsForBasic(StarBASIC const *pBasic)
Definition: sbunoobj.cxx:2429
void RTL_Impl_HasInterfaces(SbxArray &rPar)
Definition: sbunoobj.cxx:3035
void RTL_Impl_CreateUnoValue(SbxArray &rPar)
Definition: sbunoobj.cxx:4074
void RTL_Impl_GetDefaultContext(SbxArray &rPar)
Definition: sbunoobj.cxx:4061
SbUnoService * findUnoService(const OUString &rName)
Definition: sbunoobj.cxx:3448
void registerComListenerVariableForBasic(SbxVariable *pVar, StarBASIC *pBasic)
Definition: sbunoobj.cxx:4437
void RTL_Impl_EqualUnoObjects(SbxArray &rPar)
Definition: sbunoobj.cxx:3127
bool handleToStringForCOMObjects(SbxObject *pObj, SbxValue *pVal)
Definition: sbunoobj.cxx:4554
void RTL_Impl_CreateUnoStruct(SbxArray &rPar)
Definition: sbunoobj.cxx:2906
bool checkUnoObjectType(SbUnoObject &refVal, const OUString &aClass)
Definition: sbunoobj.cxx:1644
SbUnoSingleton * findUnoSingleton(const OUString &rName)
Definition: sbunoobj.cxx:3681
css::uno::Reference< css::uno::XInterface > createComListener(const css::uno::Any &aControlAny, const OUString &aVBAType, std::u16string_view aPrefix, const SbxObjectRef &xScopeObj)
SbxVariable * getDefaultProp(SbxVariable *pRef)
Definition: sbunoobj.cxx:126
void registerComponentToBeDisposedForBasic(const css::uno::Reference< css::lang::XComponent > &xComponent, StarBASIC *pBasic)
void disposeComVariablesForBasic(StarBASIC const *pBasic)
Definition: sbunoobj.cxx:4444
void RTL_Impl_CreateUnoService(SbxArray &rPar)
Definition: sbunoobj.cxx:2929
void RTL_Impl_GetProcessServiceManager(SbxArray &rPar)
Definition: sbunoobj.cxx:3023
tools::SvRef< SbUnoObject > SbUnoObjectRef
Definition: sbunoobj.hxx:145
void RTL_Impl_IsUnoStruct(SbxArray &rPar)
Definition: sbunoobj.cxx:3093
SbxDataType
Definition: sbxdef.hxx:37
SbxClassType
Definition: sbxdef.hxx:27
bool operator()(std::u16string_view rProp, std::u16string_view rOtherProp) const
Definition: sbunoobj.hxx:70