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>
37#include <unordered_map>
63 void setValue(
const css::uno::Any& );
70 bool operator() (std::u16string_view rProp, std::u16string_view rOtherProp )
const
104 css::uno::Reference< css::beans::XIntrospectionAccess >
mxUnoAccess;
122 SbUnoObject(
const OUString& aName_,
const css::uno::Any& aUnoObj_ );
158 std::unique_ptr<css::uno::Sequence< css::reflection::ParamInfo >>
pParamInfoSeq;
168 SbUnoMethod(
const OUString& aName_,
SbxDataType eSbxType, css::uno::Reference< css::reflection::XIdlMethod >
const & xUnoMethod_,
171 virtual SbxInfo*
GetInfo()
override;
173 const css::uno::Sequence< css::reflection::ParamInfo >&
getParamInfos();
197 css::beans::Property aUnoProp_, sal_Int32 nId_,
bool bInvocation,
bool bUnoStruct );
216 const css::uno::Reference< css::reflection::XIdlClass >
m_xClass;
222 SbUnoClass(
const OUString& aName_, css::uno::Reference< css::reflection::XIdlClass > xClass_ )
249 css::uno::Reference< css::reflection::XServiceTypeDescription2 > xServiceTypeDesc )
271 SbUnoServiceCtor(
const OUString& aName_, css::uno::Reference< css::reflection::XServiceConstructorDescription >
const & xServiceCtorDesc );
273 virtual SbxInfo*
GetInfo()
override;
275 const css::uno::Reference< css::reflection::XServiceConstructorDescription >&
getServiceCtorDesc()
const
362 virtual void Clear()
override;
383 const OUString& aVBAType,
384 std::u16string_view aPrefix,
css::uno::Sequence< OUString > maNameSeq
AutomationNamedArgsSbxArray(sal_Int32 nSeqSize)
css::uno::Sequence< OUString > & getNames()
void CollRemove(SbxArray *pPar_)
void CollItem(SbxArray *pPar_)
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
virtual ~BasicCollection() override
BasicCollection(const OUString &rClassname)
static SbxInfoRef xAddInfo
sal_Int32 implGetIndex(SbxVariable const *pIndexVar)
sal_Int32 implGetIndexForName(const OUString &rName)
virtual void Clear() override
void CollAdd(SbxArray *pPar_)
static SbxInfoRef xItemInfo
const css::uno::Any & getValue() const
SbUnoAnyObject(css::uno::Any rVal)
SbUnoClass(const OUString &aName_)
virtual SbxVariable * Find(const OUString &, SbxClassType) override
const css::uno::Reference< css::reflection::XIdlClass > m_xClass
const css::uno::Reference< css::reflection::XIdlClass > & getUnoClass() const
SbUnoClass(const OUString &aName_, css::uno::Reference< css::reflection::XIdlClass > xClass_)
virtual SbxObjectRef CreateObject(const OUString &) override
virtual SbxBaseRef Create(sal_uInt16 nSbxId, sal_uInt32) override
friend void clearUnoMethods()
css::uno::Reference< css::reflection::XIdlMethod > m_xUnoMethod
virtual ~SbUnoMethod() override
std::unique_ptr< css::uno::Sequence< css::reflection::ParamInfo > > pParamInfoSeq
friend void clearUnoMethodsForBasic(StarBASIC const *pBasic)
bool isInvocationBased() const
const css::uno::Sequence< css::reflection::ParamInfo > & getParamInfos()
SbUnoMethod(const OUString &aName_, SbxDataType eSbxType, css::uno::Reference< css::reflection::XIdlMethod > const &xUnoMethod_, bool bInvocation)
virtual SbxInfo * GetInfo() override
css::uno::Reference< css::beans::XMaterialHolder > mxMaterialHolder
css::uno::Reference< css::beans::XIntrospectionAccess > mxUnoAccess
SbUnoObject(const OUString &aName_, const css::uno::Any &aUnoObj_)
bool isNativeCOMObject() const
css::uno::Any getUnoAny()
const css::uno::Reference< css::script::XInvocation > & getInvocation() const
virtual ~SbUnoObject() override
static bool getDefaultPropName(SbUnoObject const *pUnoObj, OUString &sDfltProp)
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
void implCreateDbgProperties()
css::uno::Reference< css::script::XInvocation > mxInvocation
css::uno::Any maTmpUnoObj
const css::uno::Reference< css::beans::XIntrospectionAccess > & getIntrospectionAccess() const
std::shared_ptr< SbUnoStructRefObject > maStructInfo
virtual SbxVariable * Find(const OUString &, SbxClassType) override
css::uno::Reference< css::beans::XExactName > mxExactName
css::uno::Reference< css::beans::XExactName > mxExactNameInvocation
void createAllProperties()
SbUnoProperty & operator=(const SbUnoProperty &)=delete
SbUnoProperty(const OUString &aName_, SbxDataType eSbxType, SbxDataType eRealSbxType, css::beans::Property aUnoProp_, sal_Int32 nId_, bool bInvocation, bool bUnoStruct)
SbxDataType getRealType() const
SbUnoProperty(const SbUnoProperty &)=delete
css::beans::Property aUnoProp
virtual ~SbUnoProperty() override
bool isInvocationBased() const
virtual SbxInfo * GetInfo() override
const css::uno::Reference< css::reflection::XServiceConstructorDescription > & getServiceCtorDesc() const
css::uno::Reference< css::reflection::XServiceConstructorDescription > m_xServiceCtorDesc
SbUnoServiceCtor(const OUString &aName_, css::uno::Reference< css::reflection::XServiceConstructorDescription > const &xServiceCtorDesc)
virtual ~SbUnoServiceCtor() override
const css::uno::Reference< css::reflection::XServiceTypeDescription2 > m_xServiceTypeDesc
virtual SbxVariable * Find(const OUString &, SbxClassType) override
SbUnoService(const OUString &aName_, css::uno::Reference< css::reflection::XServiceTypeDescription2 > xServiceTypeDesc)
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
SbUnoSingleton(const OUString &aName_)
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
OUString Impl_DumpProperties()
virtual ~SbUnoStructRefObject() override
const StructRefInfo & getStructInfo() const
void implCreateDbgProperties()
OUString getDbgObjectName() const
std::map< OUString, std::unique_ptr< StructRefInfo >, caseLessComp > StructFieldInfo
SbUnoStructRefObject(const OUString &aName_, StructRefInfo aMemberInfo)
void createAllProperties()
virtual SbxVariable * Find(const OUString &, SbxClassType) override
void Notify(SfxBroadcaster &, const SfxHint &rHint) override
css::uno::Any getUnoAny()
StructRefInfo maMemberInfo
StructRefInfo getStructMember(const OUString &rMember)
const css::uno::Type & getType() const
css::uno::TypeClass getTypeClass() const
void setValue(const css::uno::Any &)
css::uno::Any & getRootAnyRef()
StructRefInfo(css::uno::Any &aAny, css::uno::Type const &rType, sal_Int32 nPos)
OUString getTypeName() const
std::vector< OUString > aConstCache
SbxVariable * getVBAConstant(const OUString &rName)
static VBAConstantHelper & instance()
VBAConstantHelper(const VBAConstantHelper &)=delete
bool isVBAConstantType(std::u16string_view rName)
std::unordered_map< OUString, css::uno::Any > aConstHash
int compareToIgnoreAsciiCase(std::u16string_view s1, std::u16string_view s2)
SbUnoObject * createOLEObject_Impl(const OUString &aType)
void clearNativeObjectWrapperVector()
void RTL_Impl_CreateUnoServiceWithArguments(SbxArray &rPar)
SbUnoClass * findUnoClass(const OUString &rName)
void clearUnoMethodsForBasic(StarBASIC const *pBasic)
void RTL_Impl_HasInterfaces(SbxArray &rPar)
void RTL_Impl_CreateUnoValue(SbxArray &rPar)
void RTL_Impl_GetDefaultContext(SbxArray &rPar)
SbUnoService * findUnoService(const OUString &rName)
void registerComListenerVariableForBasic(SbxVariable *pVar, StarBASIC *pBasic)
void RTL_Impl_EqualUnoObjects(SbxArray &rPar)
bool handleToStringForCOMObjects(SbxObject *pObj, SbxValue *pVal)
void RTL_Impl_CreateUnoStruct(SbxArray &rPar)
bool checkUnoObjectType(SbUnoObject &refVal, const OUString &aClass)
SbUnoSingleton * findUnoSingleton(const OUString &rName)
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)
void registerComponentToBeDisposedForBasic(const css::uno::Reference< css::lang::XComponent > &xComponent, StarBASIC *pBasic)
void disposeComVariablesForBasic(StarBASIC const *pBasic)
void RTL_Impl_CreateUnoService(SbxArray &rPar)
void RTL_Impl_GetProcessServiceManager(SbxArray &rPar)
tools::SvRef< SbUnoObject > SbUnoObjectRef
void RTL_Impl_IsUnoStruct(SbxArray &rPar)
bool operator()(std::u16string_view rProp, std::u16string_view rOtherProp) const