Lines 356-362
Link Here
|
356 |
// convert the uno argument |
356 |
// convert the uno argument |
357 |
if (vt & VT_BYREF) |
357 |
if (vt & VT_BYREF) |
358 |
{ |
358 |
{ |
359 |
anyToVariant( & varRefArg, aValue, vt ^ VT_BYREF); |
359 |
anyToVariant( & varRefArg, aValue, ::sal::static_int_cast< VARTYPE, int >( vt ^ VT_BYREF ) ); |
360 |
varArg.vt = vt; |
360 |
varArg.vt = vt; |
361 |
if( (vt & VT_TYPEMASK) == VT_VARIANT) |
361 |
if( (vt & VT_TYPEMASK) == VT_VARIANT) |
362 |
varArg.byref = & varRefArg; |
362 |
varArg.byref = & varRefArg; |
Lines 370-376
Link Here
|
370 |
anyToVariant(& varArg, aValue, vt); |
370 |
anyToVariant(& varArg, aValue, vt); |
371 |
} |
371 |
} |
372 |
// call to IDispatch |
372 |
// call to IDispatch |
373 |
hr = m_spDispatch->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, invkind, |
373 |
hr = m_spDispatch->Invoke(dispid, IID_NULL, LOCALE_USER_DEFAULT, ::sal::static_int_cast< WORD, INVOKEKIND >( invkind ), |
374 |
&dispparams, & varResult, & excepinfo, &uArgErr); |
374 |
&dispparams, & varResult, & excepinfo, &uArgErr); |
375 |
|
375 |
|
376 |
// lookup error code |
376 |
// lookup error code |
Lines 399-409
Link Here
|
399 |
break; |
399 |
break; |
400 |
case DISP_E_PARAMNOTFOUND: |
400 |
case DISP_E_PARAMNOTFOUND: |
401 |
throw IllegalArgumentException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
401 |
throw IllegalArgumentException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
402 |
static_cast<XWeak*>(this)), uArgErr) ; |
402 |
static_cast<XWeak*>(this)), ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr )) ; |
403 |
break; |
403 |
break; |
404 |
case DISP_E_TYPEMISMATCH: |
404 |
case DISP_E_TYPEMISMATCH: |
405 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
405 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
406 |
static_cast<XWeak*>(this)), TypeClass_UNKNOWN, FailReason::UNKNOWN, uArgErr); |
406 |
static_cast<XWeak*>(this)), TypeClass_UNKNOWN, FailReason::UNKNOWN, ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr )); |
407 |
break; |
407 |
break; |
408 |
case DISP_E_UNKNOWNINTERFACE: |
408 |
case DISP_E_UNKNOWNINTERFACE: |
409 |
throw RuntimeException(); |
409 |
throw RuntimeException(); |
Lines 689-695
Link Here
|
689 |
} |
689 |
} |
690 |
|
690 |
|
691 |
Any SAL_CALL IUnknownWrapper_Impl::createBridge( const Any& modelDepObject, |
691 |
Any SAL_CALL IUnknownWrapper_Impl::createBridge( const Any& modelDepObject, |
692 |
const Sequence< sal_Int8 >& aProcessId, sal_Int16 sourceModelType, |
692 |
const Sequence< sal_Int8 >& /*aProcessId*/, sal_Int16 sourceModelType, |
693 |
sal_Int16 destModelType ) |
693 |
sal_Int16 destModelType ) |
694 |
throw( IllegalArgumentException, RuntimeException) |
694 |
throw( IllegalArgumentException, RuntimeException) |
695 |
{ |
695 |
{ |
Lines 928-934
Link Here
|
928 |
} |
928 |
} |
929 |
catch (IllegalArgumentException & e) |
929 |
catch (IllegalArgumentException & e) |
930 |
{ |
930 |
{ |
931 |
e.ArgumentPosition = i; |
931 |
e.ArgumentPosition = ::sal::static_int_cast< sal_Int16, int >( i ); |
932 |
throw; |
932 |
throw; |
933 |
} |
933 |
} |
934 |
catch (CannotConvertException & e) |
934 |
catch (CannotConvertException & e) |
Lines 994-1000
Link Here
|
994 |
} |
994 |
} |
995 |
catch (IllegalArgumentException & e) |
995 |
catch (IllegalArgumentException & e) |
996 |
{ |
996 |
{ |
997 |
e.ArgumentPosition = i; |
997 |
e.ArgumentPosition = ::sal::static_int_cast< sal_Int16, int >( i ); |
998 |
throw; |
998 |
throw; |
999 |
} |
999 |
} |
1000 |
catch (CannotConvertException & e) |
1000 |
catch (CannotConvertException & e) |
Lines 1056-1062
Link Here
|
1056 |
} |
1056 |
} |
1057 |
else //JScriptObject |
1057 |
else //JScriptObject |
1058 |
{ |
1058 |
{ |
1059 |
if( pVarParams[i].vt= VT_DISPATCH) |
1059 |
if( pVarParams[i].vt == VT_DISPATCH) |
1060 |
{ |
1060 |
{ |
1061 |
CComDispatchDriver pDisp( pVarParams[i].pdispVal); |
1061 |
CComDispatchDriver pDisp( pVarParams[i].pdispVal); |
1062 |
if( pDisp) |
1062 |
if( pDisp) |
Lines 1083-1089
Link Here
|
1083 |
} |
1083 |
} |
1084 |
catch(IllegalArgumentException & e) |
1084 |
catch(IllegalArgumentException & e) |
1085 |
{ |
1085 |
{ |
1086 |
e.ArgumentPosition = i; |
1086 |
e.ArgumentPosition = ::sal::static_int_cast< sal_Int16, int >( i ); |
1087 |
throw; |
1087 |
throw; |
1088 |
} |
1088 |
} |
1089 |
catch(CannotConvertException & e) |
1089 |
catch(CannotConvertException & e) |
Lines 1149-1155
Link Here
|
1149 |
break; |
1149 |
break; |
1150 |
case DISP_E_PARAMNOTFOUND: |
1150 |
case DISP_E_PARAMNOTFOUND: |
1151 |
throw IllegalArgumentException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
1151 |
throw IllegalArgumentException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")), static_cast<XInterface*>( |
1152 |
static_cast<XWeak*>(this)), uArgErr); |
1152 |
static_cast<XWeak*>(this)), ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr )); |
1153 |
break; |
1153 |
break; |
1154 |
case DISP_E_TYPEMISMATCH: |
1154 |
case DISP_E_TYPEMISMATCH: |
1155 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")),static_cast<XInterface*>( |
1155 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("call to OLE object failed")),static_cast<XInterface*>( |
Lines 1182-1188
Link Here
|
1182 |
// 1.parameter is IUnknown |
1182 |
// 1.parameter is IUnknown |
1183 |
// 2.parameter is a boolean which indicates if the the COM pointer was a IUnknown or IDispatch |
1183 |
// 2.parameter is a boolean which indicates if the the COM pointer was a IUnknown or IDispatch |
1184 |
// 3.parameter is a Sequence<Type> |
1184 |
// 3.parameter is a Sequence<Type> |
1185 |
HRESULT result; |
|
|
1186 |
o2u_attachCurrentThread(); |
1185 |
o2u_attachCurrentThread(); |
1187 |
OSL_ASSERT(aArguments.getLength() == 3); |
1186 |
OSL_ASSERT(aArguments.getLength() == 3); |
1188 |
|
1187 |
|
Lines 1394-1400
Link Here
|
1394 |
} |
1393 |
} |
1395 |
|
1394 |
|
1396 |
//check if there are not to many arguments supplied |
1395 |
//check if there are not to many arguments supplied |
1397 |
if (nUnoArgs > dispparams.cArgs) |
1396 |
if (::sal::static_int_cast< sal_uInt32, int >( nUnoArgs ) > dispparams.cArgs) |
1398 |
{ |
1397 |
{ |
1399 |
OUStringBuffer buf(256); |
1398 |
OUStringBuffer buf(256); |
1400 |
buf.appendAscii("[automation bridge] There are too many arguments for this method"); |
1399 |
buf.appendAscii("[automation bridge] There are too many arguments for this method"); |
Lines 1428-1434
Link Here
|
1428 |
arNames[0] = const_cast<OLECHAR*>(reinterpret_cast<LPCOLESTR>(sFuncName.getStr())); |
1427 |
arNames[0] = const_cast<OLECHAR*>(reinterpret_cast<LPCOLESTR>(sFuncName.getStr())); |
1429 |
|
1428 |
|
1430 |
int cNamedArg = 0; |
1429 |
int cNamedArg = 0; |
1431 |
for (int iParams = 0; iParams < dispparams.cArgs; iParams ++) |
1430 |
for (size_t iParams = 0; iParams < dispparams.cArgs; iParams ++) |
1432 |
{ |
1431 |
{ |
1433 |
const Any & curArg = Params[iParams]; |
1432 |
const Any & curArg = Params[iParams]; |
1434 |
if (curArg.getValueType() == getCppuType((NamedArgument*) 0)) |
1433 |
if (curArg.getValueType() == getCppuType((NamedArgument*) 0)) |
Lines 1563-1569
Link Here
|
1563 |
if (paramFlags & PARAMFLAG_FOUT && |
1562 |
if (paramFlags & PARAMFLAG_FOUT && |
1564 |
! (paramFlags & PARAMFLAG_FIN) ) |
1563 |
! (paramFlags & PARAMFLAG_FIN) ) |
1565 |
{ |
1564 |
{ |
1566 |
VARTYPE type= varType ^ VT_BYREF; |
1565 |
VARTYPE type = ::sal::static_int_cast< VARTYPE, int >( varType ^ VT_BYREF ); |
1567 |
if (i < nUnoArgs) |
1566 |
if (i < nUnoArgs) |
1568 |
{ |
1567 |
{ |
1569 |
arRefArgs[revIndex].vt= type; |
1568 |
arRefArgs[revIndex].vt= type; |
Lines 1591-1597
Link Here
|
1591 |
// in/out + in byref params |
1590 |
// in/out + in byref params |
1592 |
else if (varType & VT_BYREF) |
1591 |
else if (varType & VT_BYREF) |
1593 |
{ |
1592 |
{ |
1594 |
VARTYPE type = varType ^ VT_BYREF; |
1593 |
VARTYPE type = ::sal::static_int_cast< VARTYPE, int >( varType ^ VT_BYREF ); |
1595 |
CComVariant var; |
1594 |
CComVariant var; |
1596 |
|
1595 |
|
1597 |
if (i < nUnoArgs && anyArg.getValueTypeClass() != TypeClass_VOID) |
1596 |
if (i < nUnoArgs && anyArg.getValueTypeClass() != TypeClass_VOID) |
Lines 1636-1642
Link Here
|
1636 |
else |
1635 |
else |
1637 |
{ |
1636 |
{ |
1638 |
arArgs[revIndex].byref = & arRefArgs[revIndex].byref; |
1637 |
arArgs[revIndex].byref = & arRefArgs[revIndex].byref; |
1639 |
arArgs[revIndex].vt = arRefArgs[revIndex].vt | VT_BYREF; |
1638 |
arArgs[revIndex].vt = ::sal::static_int_cast< VARTYPE, int >( arRefArgs[revIndex].vt | VT_BYREF ); |
1640 |
} |
1639 |
} |
1641 |
|
1640 |
|
1642 |
} |
1641 |
} |
Lines 1667-1673
Link Here
|
1667 |
} |
1666 |
} |
1668 |
catch (IllegalArgumentException & e) |
1667 |
catch (IllegalArgumentException & e) |
1669 |
{ |
1668 |
{ |
1670 |
e.ArgumentPosition = i; |
1669 |
e.ArgumentPosition = ::sal::static_int_cast< sal_Int16, sal_Int32 >( i ); |
1671 |
throw; |
1670 |
throw; |
1672 |
} |
1671 |
} |
1673 |
catch (CannotConvertException & e) |
1672 |
catch (CannotConvertException & e) |
Lines 1681-1687
Link Here
|
1681 |
result = m_spDispatch->Invoke(aFuncDesc->memid, |
1680 |
result = m_spDispatch->Invoke(aFuncDesc->memid, |
1682 |
IID_NULL, |
1681 |
IID_NULL, |
1683 |
localeId, |
1682 |
localeId, |
1684 |
aFuncDesc->invkind, |
1683 |
::sal::static_int_cast< WORD, INVOKEKIND >( aFuncDesc->invkind ), |
1685 |
&dispparams, |
1684 |
&dispparams, |
1686 |
&varResult, |
1685 |
&varResult, |
1687 |
&excepinfo, |
1686 |
&excepinfo, |
Lines 1733-1739
Link Here
|
1733 |
} |
1732 |
} |
1734 |
catch (IllegalArgumentException & e) |
1733 |
catch (IllegalArgumentException & e) |
1735 |
{ |
1734 |
{ |
1736 |
e.ArgumentPosition = paramIndex; |
1735 |
e.ArgumentPosition = (sal_Int16)paramIndex; |
1737 |
throw; |
1736 |
throw; |
1738 |
} |
1737 |
} |
1739 |
catch (CannotConvertException & e) |
1738 |
catch (CannotConvertException & e) |
Lines 1742-1748
Link Here
|
1742 |
throw; |
1741 |
throw; |
1743 |
} |
1742 |
} |
1744 |
OutParam[outParamIndex] = outAny; |
1743 |
OutParam[outParamIndex] = outAny; |
1745 |
OutParamIndex[outParamIndex] = paramIndex; |
1744 |
OutParamIndex[outParamIndex] = ::sal::static_int_cast< sal_Int16, int >( paramIndex ); |
1746 |
outParamIndex++; |
1745 |
outParamIndex++; |
1747 |
} |
1746 |
} |
1748 |
OutParam.realloc(outParamIndex); |
1747 |
OutParam.realloc(outParamIndex); |
Lines 1782-1788
Link Here
|
1782 |
break; |
1781 |
break; |
1783 |
case DISP_E_NONAMEDARGS: |
1782 |
case DISP_E_NONAMEDARGS: |
1784 |
throw IllegalArgumentException(OUSTR("[automation bridge] Object " |
1783 |
throw IllegalArgumentException(OUSTR("[automation bridge] Object " |
1785 |
"returned DISP_E_NONAMEDARGS"),0, uArgErr); |
1784 |
"returned DISP_E_NONAMEDARGS"),0, ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr )); |
1786 |
break; |
1785 |
break; |
1787 |
case DISP_E_OVERFLOW: |
1786 |
case DISP_E_OVERFLOW: |
1788 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[automation bridge] Call failed.")), |
1787 |
throw CannotConvertException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("[automation bridge] Call failed.")), |
Lines 1792-1798
Link Here
|
1792 |
case DISP_E_PARAMNOTFOUND: |
1791 |
case DISP_E_PARAMNOTFOUND: |
1793 |
throw IllegalArgumentException(OUSTR("[automation bridge]Call failed." |
1792 |
throw IllegalArgumentException(OUSTR("[automation bridge]Call failed." |
1794 |
"Object returned DISP_E_PARAMNOTFOUND."), |
1793 |
"Object returned DISP_E_PARAMNOTFOUND."), |
1795 |
0, uArgErr); |
1794 |
0, ::sal::static_int_cast< sal_Int16, unsigned int >( uArgErr )); |
1796 |
break; |
1795 |
break; |
1797 |
case DISP_E_TYPEMISMATCH: |
1796 |
case DISP_E_TYPEMISMATCH: |
1798 |
throw CannotConvertException(OUSTR("[automation bridge] Call failed. " |
1797 |
throw CannotConvertException(OUSTR("[automation bridge] Call failed. " |
Lines 2019-2025
Link Here
|
2019 |
|
2018 |
|
2020 |
VARTYPE IUnknownWrapper_Impl::getElementTypeDesc(const TYPEDESC *desc) |
2019 |
VARTYPE IUnknownWrapper_Impl::getElementTypeDesc(const TYPEDESC *desc) |
2021 |
{ |
2020 |
{ |
2022 |
VARTYPE _type; |
2021 |
VARTYPE _type( VT_NULL ); |
2023 |
|
2022 |
|
2024 |
if (desc->vt == VT_PTR) |
2023 |
if (desc->vt == VT_PTR) |
2025 |
{ |
2024 |
{ |
Lines 2157-2163
Link Here
|
2157 |
|
2156 |
|
2158 |
ITypeInfo* IUnknownWrapper_Impl::getTypeInfo() |
2157 |
ITypeInfo* IUnknownWrapper_Impl::getTypeInfo() |
2159 |
{ |
2158 |
{ |
2160 |
HRESULT hr= S_OK; |
|
|
2161 |
if( !m_spDispatch) |
2159 |
if( !m_spDispatch) |
2162 |
{ |
2160 |
{ |
2163 |
throw BridgeRuntimeError(OUSTR("The object has no IDispatch interface!")); |
2161 |
throw BridgeRuntimeError(OUSTR("The object has no IDispatch interface!")); |
Lines 2183-2189
Link Here
|
2183 |
typeAttr->wTypeFlags & TYPEFLAG_FDUAL) |
2181 |
typeAttr->wTypeFlags & TYPEFLAG_FDUAL) |
2184 |
{ |
2182 |
{ |
2185 |
HREFTYPE refDispatch; |
2183 |
HREFTYPE refDispatch; |
2186 |
if (SUCCEEDED(spType->GetRefTypeOfImplType(-1, &refDispatch))) |
2184 |
if (SUCCEEDED(spType->GetRefTypeOfImplType(::sal::static_int_cast< UINT, int >( -1 ), &refDispatch))) |
2187 |
{ |
2185 |
{ |
2188 |
CComPtr<ITypeInfo> spTypeDisp; |
2186 |
CComPtr<ITypeInfo> spTypeDisp; |
2189 |
if (SUCCEEDED(spType->GetRefTypeInfo(refDispatch, & spTypeDisp))) |
2187 |
if (SUCCEEDED(spType->GetRefTypeInfo(refDispatch, & spTypeDisp))) |