LibreOffice Module extensions (master) 1
|
#include <unoobjw.hxx>
Public Member Functions | |
InterfaceOleWrapper (Reference< XMultiServiceFactory > const &xFactory, sal_uInt8 unoWrapperClass, sal_uInt8 comWrapperClass) | |
~InterfaceOleWrapper () override | |
STDMETHOD() | QueryInterface (REFIID riid, void **ppvObj) override |
STDMETHOD_ (ULONG, AddRef)() override | |
STDMETHOD_ (ULONG, Release)() override | |
STDMETHOD() | GetTypeInfoCount (UINT *pctinfo) override |
STDMETHOD() | GetTypeInfo (UINT itinfo, LCID lcid, ITypeInfo **pptinfo) override |
STDMETHOD() | GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgdispid) override |
STDMETHOD() | Invoke (DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, UINT *puArgErr) override |
virtual HRESULT STDMETHODCALLTYPE | GetDispID (BSTR bstrName, DWORD grfdex, DISPID __RPC_FAR *pid) override |
virtual HRESULT STDMETHODCALLTYPE | InvokeEx (DISPID id, LCID lcid, WORD wFlags, DISPPARAMS __RPC_FAR *pdp, VARIANT __RPC_FAR *pvarRes, EXCEPINFO __RPC_FAR *pei, IServiceProvider __RPC_FAR *pspCaller) override |
virtual HRESULT STDMETHODCALLTYPE | DeleteMemberByName (BSTR bstr, DWORD grfdex) override |
virtual HRESULT STDMETHODCALLTYPE | DeleteMemberByDispID (DISPID id) override |
virtual HRESULT STDMETHODCALLTYPE | GetMemberProperties (DISPID id, DWORD grfdexFetch, DWORD __RPC_FAR *pgrfdex) override |
virtual HRESULT STDMETHODCALLTYPE | GetMemberName (DISPID id, BSTR __RPC_FAR *pbstrName) override |
virtual HRESULT STDMETHODCALLTYPE | GetNextDispID (DWORD grfdex, DISPID id, DISPID __RPC_FAR *pid) override |
virtual HRESULT STDMETHODCALLTYPE | GetNameSpaceParent (IUnknown __RPC_FAR *__RPC_FAR *ppunk) override |
virtual HRESULT STDMETHODCALLTYPE | GetClassInfo (ITypeInfo **ppTI) override |
virtual HRESULT STDMETHODCALLTYPE | EnumConnectionPoints (IEnumConnectionPoints **ppEnum) override |
virtual HRESULT STDMETHODCALLTYPE | FindConnectionPoint (REFIID riid, IConnectionPoint **ppCP) override |
virtual Any SAL_CALL | createBridge (const Any &modelDepObject, const Sequence< sal_Int8 > &ProcessId, sal_Int16 sourceModelType, sal_Int16 destModelType) override |
virtual void SAL_CALL | initialize (const Sequence< Any > &aArguments) override |
STDMETHOD() | getWrapperXInterface (Reference< XInterface > *pXInt) override |
STDMETHOD() | getOriginalUnoObject (Reference< XInterface > *pXInt) override |
STDMETHOD() | getOriginalUnoStruct (Any *pStruct) override |
virtual Reference< XInterface > | createUnoWrapperInstance () override |
virtual Reference< XInterface > | createComWrapperInstance () override |
const OUString & | getImplementationName () const |
Public Member Functions inherited from UnoConversionUtilities< InterfaceOleWrapper > | |
UnoConversionUtilities (const Reference< XMultiServiceFactory > &smgr) | |
UnoConversionUtilities (const Reference< XMultiServiceFactory > &xFactory, sal_uInt8 unoWrapperClass, sal_uInt8 comWrapperClass) | |
virtual | ~UnoConversionUtilities () |
void | anyToVariant (VARIANT *pVariant, const Any &rAny) |
converts only into oleautomation types, that is there is no VT_I1, VT_UI2, VT_UI4 a sal_Unicode character is converted into a BSTR. More... | |
void | anyToVariant (VARIANT *pVariant, const Any &rAny, VARTYPE type) |
SAFEARRAY * | createUnoSequenceWrapper (const Any &rSeq) |
SAFEARRAY * | createUnoSequenceWrapper (const Any &rSeq, VARTYPE elemtype) |
void | createUnoObjectWrapper (const Any &rObj, VARIANT *pVar) |
void | variantToAny (const VARIANT *pVariant, Any &rAny, bool bReduceValueRange=true) |
void | variantToAny (const VARIANTARG *pArg, Any &rAny, const Type &ptype, bool bReduceValueRange=true) |
This method converts variants arguments in calls from COM -> UNO. More... | |
Any | createOleObjectWrapper (VARIANT *pVar, const Type &aType=Type()) |
bool | convertValueObject (const VARIANTARG *var, Any &any) |
void | dispatchExObject2Sequence (const VARIANTARG *pvar, Any &anySeq, const Type &type) |
Sequence< Any > | createOleArrayWrapperOfDim (SAFEARRAY *pArray, unsigned int dimCount, unsigned int actDim, LONG *index, VARTYPE type, const Type &unotype) |
Sequence< Any > | createOleArrayWrapper (SAFEARRAY *pArray, VARTYPE type, const Type &unotype=Type()) |
VARTYPE | mapTypeClassToVartype (TypeClass type) |
Reference< XSingleServiceFactory > | getInvocationFactory (const Any &anyObject) |
virtual Reference< XInterface > | createUnoWrapperInstance ()=0 |
virtual Reference< XInterface > | createComWrapperInstance ()=0 |
Sequence< Type > | getImplementedInterfaces (IUnknown *pUnk) |
Protected Member Functions | |
virtual HRESULT | doInvoke (DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, unsigned int *puArgErr, OUString &name, Sequence< Any > ¶ms) |
virtual HRESULT | doGetProperty (DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, OUString &name) |
virtual HRESULT | doSetProperty (DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, unsigned int *puArgErr, OUString &name, Sequence< Any > const ¶ms) |
virtual HRESULT | InvokeGeneral (DISPID dispidMember, unsigned short wFlags, DISPPARAMS *pdispparams, VARIANT *pvarResult, EXCEPINFO *pexcepinfo, unsigned int *puArgErr, bool &bHandled) |
void | convertDispparamsArgs (DISPID id, unsigned short wFlags, DISPPARAMS *pdispparams, Sequence< Any > &rSeq) |
bool | getInvocationInfoForCall (DISPID id, InvocationInfo &info) |
Protected Member Functions inherited from UnoConversionUtilities< InterfaceOleWrapper > | |
Reference< XInterface > | createAdapter (const Sequence< Type > &types, const Reference< XInterface > &receiver) |
void | getElementCountAndTypeOfSequence (const Any &rSeq, sal_Int32 dim, Sequence< sal_Int32 > &seqElementCounts, TypeDescription &typeDesc) |
Reference< XTypeConverter > | getTypeConverter () |
Protected Attributes | |
Reference< XInvocation > | m_xInvocation |
Reference< XExactName > | m_xExactName |
Reference< XInterface > | m_xOrigin |
NameToIdMap | m_nameToDispIdMap |
std::vector< MemberInfo > | m_MemberInfos |
VARTYPE | m_defaultValueType |
OUString | m_sImplementationName |
Protected Attributes inherited from UnoConversionUtilities< InterfaceOleWrapper > | |
const sal_uInt8 | m_nUnoWrapperClass |
const sal_uInt8 | m_nComWrapperClass |
Reference< XMultiServiceFactory > | m_smgr |
Reference< XMultiServiceFactory > | m_smgrRemote |
Reference< XSingleServiceFactory > | m_xInvocationFactoryLocal |
Reference< XSingleServiceFactory > | m_xInvocationFactoryRemote |
Additional Inherited Members | |
Static Public Member Functions inherited from UnoConversionUtilities< InterfaceOleWrapper > | |
static bool | isJScriptArray (const VARIANT *pvar) |
Static Protected Member Functions inherited from UnoConversionUtilities< InterfaceOleWrapper > | |
static bool | incrementMultidimensionalIndex (sal_Int32 dimensions, const sal_Int32 *parDimensionLength, sal_Int32 *parMultidimensionalIndex) |
static size_t | getOleElementSize (VARTYPE type) |
static Type | getElementTypeOfSequence (const Type &seqType) |
Definition at line 77 of file unoobjw.hxx.
InterfaceOleWrapper::InterfaceOleWrapper | ( | Reference< XMultiServiceFactory > const & | xFactory, |
sal_uInt8 | unoWrapperClass, | ||
sal_uInt8 | comWrapperClass | ||
) |
Definition at line 126 of file unoobjw.cxx.
References xFactory.
Referenced by createUnoWrapperInstance().
|
override |
Definition at line 133 of file unoobjw.cxx.
References getBridgeMutex(), m_xOrigin, and UnoObjToWrapperMap.
|
protected |
Definition at line 1278 of file unoobjw.cxx.
References Any, UnoConversionUtilities< InterfaceOleWrapper >::convertValueObject(), getInvocationInfoForCall(), hr, i, UnoConversionUtilities< InterfaceOleWrapper >::variantToAny(), VT_EMPTY, and VT_ERROR.
Referenced by Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
overridevirtual |
Definition at line 1484 of file unoobjw.cxx.
|
overridevirtual |
Implements UnoConversionUtilities< InterfaceOleWrapper >.
Definition at line 1548 of file unoobjw.cxx.
References UnoConversionUtilities< InterfaceOleWrapper >::m_nComWrapperClass, UnoConversionUtilities< InterfaceOleWrapper >::m_nUnoWrapperClass, and UnoConversionUtilities< InterfaceOleWrapper >::m_smgr.
|
overridevirtual |
Implements UnoConversionUtilities< InterfaceOleWrapper >.
Reimplemented in UnoObjectWrapperRemoteOpt.
Definition at line 1541 of file unoobjw.cxx.
References InterfaceOleWrapper(), UnoConversionUtilities< InterfaceOleWrapper >::m_nComWrapperClass, UnoConversionUtilities< InterfaceOleWrapper >::m_nUnoWrapperClass, and UnoConversionUtilities< InterfaceOleWrapper >::m_smgr.
|
overridevirtual |
Definition at line 2916 of file unoobjw.cxx.
|
overridevirtual |
Definition at line 2909 of file unoobjw.cxx.
|
protectedvirtual |
Definition at line 2066 of file unoobjw.cxx.
References Any, UnoConversionUtilities< InterfaceOleWrapper >::anyToVariant(), Exception, m_xInvocation, name, and writeExcepinfo().
Referenced by Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
protectedvirtual |
Definition at line 1976 of file unoobjw.cxx.
References Any, UnoConversionUtilities< InterfaceOleWrapper >::anyToVariant(), Exception, i, m_xInvocation, mapCannotConvertException(), name, writeBackOutParameter2(), and writeExcepinfo().
Referenced by Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
protectedvirtual |
Definition at line 2102 of file unoobjw.cxx.
References Any, m_xInvocation, mapCannotConvertException(), name, and UNO_2_OLE_EXCEPTIONCODE.
Referenced by Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
overridevirtual |
Definition at line 2988 of file unoobjw.cxx.
References SAL_INFO.
|
overridevirtual |
Definition at line 2995 of file unoobjw.cxx.
References UnoConversionUtilities< InterfaceOleWrapper >::m_smgr, m_xOrigin, and SAL_INFO.
|
overridevirtual |
Definition at line 2951 of file unoobjw.cxx.
References m_sImplementationName, UnoConversionUtilities< InterfaceOleWrapper >::m_smgr, m_xOrigin, and SAL_INFO.
|
overridevirtual |
Definition at line 2892 of file unoobjw.cxx.
|
override |
Definition at line 1077 of file unoobjw.cxx.
References aName, BRIDGE_CREATE_TYPE_FUNC, BRIDGE_GET_STRUCT_FUNC, BRIDGE_VALUE_FUNC, d, DISPID_CREATE_TYPE_FUNC, DISPID_GET_STRUCT_FUNC, DISPID_JSCRIPT_VALUE_FUNC, Exception, GET_STRUCT_FUNC, getBridgeMutex(), i, JSCRIPT_VALUE_FUNC, m_MemberInfos, m_nameToDispIdMap, m_xExactName, m_xInvocation, name, and SAL_INFO.
|
inline |
Definition at line 170 of file unoobjw.hxx.
References m_sImplementationName.
|
protected |
Definition at line 1428 of file unoobjw.cxx.
References m_nameToDispIdMap, and m_xInvocation.
Referenced by convertDispparamsArgs().
|
overridevirtual |
Definition at line 2929 of file unoobjw.cxx.
|
overridevirtual |
Definition at line 2921 of file unoobjw.cxx.
|
overridevirtual |
Definition at line 2944 of file unoobjw.cxx.
|
overridevirtual |
Definition at line 2936 of file unoobjw.cxx.
|
override |
Definition at line 215 of file unoobjw.cxx.
References m_xOrigin.
|
override |
Definition at line 220 of file unoobjw.cxx.
References any, Any, m_xInvocation, and m_xOrigin.
|
override |
Definition at line 1035 of file unoobjw.cxx.
References m_sImplementationName, UnoConversionUtilities< InterfaceOleWrapper >::m_smgr, m_xOrigin, and SAL_INFO.
|
override |
Definition at line 241 of file unoobjw.cxx.
References SAL_INFO.
|
override |
Definition at line 210 of file unoobjw.cxx.
Definition at line 1516 of file unoobjw.cxx.
References aArguments, m_defaultValueType, m_sImplementationName, m_xExactName, m_xInvocation, m_xOrigin, and SAL_INFO.
|
override |
Definition at line 1800 of file unoobjw.cxx.
References convertDispparamsArgs(), d, doGetProperty(), doInvoke(), doSetProperty(), Exception, i, InvokeGeneral(), m_MemberInfos, m_xInvocation, o3tl::make_unsigned(), BridgeRuntimeError::message, SAL_INFO, VT_ERROR, and writeExcepinfo().
|
overridevirtual |
Definition at line 2897 of file unoobjw.cxx.
|
protectedvirtual |
Definition at line 2735 of file unoobjw.cxx.
References Any, UnoConversionUtilities< InterfaceOleWrapper >::anyToVariant(), createUnoTypeWrapper(), DISPID_CREATE_TYPE_FUNC, DISPID_GET_STRUCT_FUNC, DISPID_JSCRIPT_VALUE_FUNC, Exception, comphelper::getComponentContext(), getType(), m_defaultValueType, UnoConversionUtilities< InterfaceOleWrapper >::m_smgr, m_xOrigin, BridgeRuntimeError::message, type, VT_BSTR, VT_EMPTY, and writeExcepinfo().
Referenced by Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
override |
Definition at line 142 of file unoobjw.cxx.
|
override |
|
override |
References Any.
|
protected |
Definition at line 207 of file unoobjw.hxx.
Referenced by initialize(), and InvokeGeneral().
|
protected |
Definition at line 198 of file unoobjw.hxx.
Referenced by GetIDsOfNames(), and Invoke().
|
protected |
Definition at line 197 of file unoobjw.hxx.
Referenced by GetIDsOfNames(), UnoObjectWrapperRemoteOpt::GetIDsOfNames(), and getInvocationInfoForCall().
|
protected |
Definition at line 210 of file unoobjw.hxx.
Referenced by GetClassInfo(), getImplementationName(), GetTypeInfo(), and initialize().
|
protected |
Definition at line 195 of file unoobjw.hxx.
Referenced by GetIDsOfNames(), initialize(), and UnoObjectWrapperRemoteOpt::Invoke().
|
protected |
Definition at line 194 of file unoobjw.hxx.
Referenced by doGetProperty(), doInvoke(), doSetProperty(), GetIDsOfNames(), UnoObjectWrapperRemoteOpt::GetIDsOfNames(), getInvocationInfoForCall(), getOriginalUnoStruct(), initialize(), Invoke(), and UnoObjectWrapperRemoteOpt::Invoke().
|
protected |
Definition at line 196 of file unoobjw.hxx.
Referenced by FindConnectionPoint(), GetClassInfo(), getOriginalUnoObject(), getOriginalUnoStruct(), GetTypeInfo(), initialize(), InvokeGeneral(), QueryInterface(), and ~InterfaceOleWrapper().