From 185bf323967d08ec69f4a3b55aac4c51a3b2a627 Mon Sep 17 00:00:00 2001 From: RĂ¼diger Timm Date: Fri, 1 Dec 2006 13:47:22 +0000 Subject: INTEGRATION: CWS sb23 (1.12.38); FILE MERGED 2006/11/07 08:30:32 sb 1.12.38.5: RESYNC: (1.14-1.15); FILE MERGED 2006/08/21 07:36:41 sb 1.12.38.4: #88601# Made code warning-free. 2006/08/18 16:01:06 sb 1.12.38.3: RESYNC: (1.12-1.14); FILE MERGED 2005/03/23 14:44:29 sb 1.12.38.2: #88601# Ensure that negotiating current context support is finished before any requests are sent. 2005/03/23 14:21:44 sb 1.12.38.1: #88601# Support for current context in binary UNO URP bridge. --- bridges/source/remote/urp/urp_dispatch.cxx | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'bridges') diff --git a/bridges/source/remote/urp/urp_dispatch.cxx b/bridges/source/remote/urp/urp_dispatch.cxx index 3104ac9df..1b60f6042 100644 --- a/bridges/source/remote/urp/urp_dispatch.cxx +++ b/bridges/source/remote/urp/urp_dispatch.cxx @@ -4,9 +4,9 @@ * * $RCSfile: urp_dispatch.cxx,v $ * - * $Revision: 1.15 $ + * $Revision: 1.16 $ * - * last change: $Author: obo $ $Date: 2006-09-16 16:00:48 $ + * last change: $Author: rt $ $Date: 2006-12-01 14:47:22 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -94,8 +94,26 @@ extern "C" void SAL_CALL urp_sendRequest( { remote_Context *pContext = (remote_Context *) pEnvRemote->pContext; urp_BridgeImpl *pImpl = (urp_BridgeImpl*) ( pContext->m_pBridgeImpl ); + pImpl->m_initialized.wait(); + urp_sendRequest_internal( + pEnvRemote, pMemberType, pOid, pInterfaceType, pReturn, ppArgs, + ppException ); +} +void SAL_CALL urp_sendRequest_internal( + uno_Environment *pEnvRemote, + typelib_TypeDescription const * pMemberType, + rtl_uString *pOid, + typelib_InterfaceTypeDescription *pInterfaceType, + void *pReturn, + void *ppArgs[], + uno_Any **ppException ) +{ + remote_Context *pContext = (remote_Context *) pEnvRemote->pContext; + urp_BridgeImpl *pImpl = (urp_BridgeImpl*) ( pContext->m_pBridgeImpl ); - ClientJob job(pEnvRemote, pImpl, pOid, pMemberType, pInterfaceType, pReturn, ppArgs, ppException); + ClientJob job( + pEnvRemote, pContext, pImpl, pOid, pMemberType, pInterfaceType, pReturn, + ppArgs, ppException); if( job.pack() && ! job.isOneway() ) { -- cgit v1.2.3