diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-09-14 08:19:47 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-09-15 06:07:36 +0200 |
commit | 05bc93db2de56000f65764d7e394d03747cac23d (patch) | |
tree | 975de9ae83572aac8a5c3ea8db281e1017ee5be0 /pyuno | |
parent | 8cbb414ed737f9ffc76e1258e6671769bf63fc6c (diff) |
Use <comphelper/servicehelper.hxx> implementing XUnoTunnel part 1
The header got some changes:
1. Move UnoTunnelIdInit and isUnoTunnelId into 'comphelper' namespace
2. Rename UnoTunnelIdInit to UnoIdInit, as a precondition to replace
of uses of OImplementationId with it, including in XTypeProvider
3. Introduce convenience functions 'getSomething_cast' to cast between
sal_Int64 and object pointers uniformly.
4. Rename getUnoTunnelImplementation to getFromUnoTunnel, both to make
it a bit shorter, and to reflect its function better. Templatize it
to take also css::uno::Any for convenience.
5. Introduce getSomethingImpl, inspired by sw::UnoTunnelImpl; allow it
handle cases both with and without fallback to parent.
6. Adjust UNO3_GETIMPLEMENTATION_* macros
TODO (in separate commits):
- Drop sw::UnoTunnelImpl and sw::UnoTunnelGetImplementation
- Replace all uses of OImplementationId in core with UnoIdInit
- Deprecate OImplementationId in <cppuhelper/typeprovider.hxx>
- Change implementations of getSomething to use getSomethingImpl
- Revise uses of getSomething to use getFromUnoTunnel
Change-Id: If4a3cb024130f1f552f988f0479589da1cd066e7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122022
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'pyuno')
-rw-r--r-- | pyuno/source/module/pyuno.cxx | 2 | ||||
-rw-r--r-- | pyuno/source/module/pyuno_adapter.cxx | 2 | ||||
-rw-r--r-- | pyuno/source/module/pyuno_runtime.cxx | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx index 60bb6b3f5f92..a177be410c79 100644 --- a/pyuno/source/module/pyuno.cxx +++ b/pyuno/source/module/pyuno.cxx @@ -1692,7 +1692,7 @@ PyRef PyUNO_new ( xInvocation.set( ssf->createInstanceWithArguments( Sequence<Any>( &targetInterface, 1 ) ), css::uno::UNO_QUERY_THROW ); - auto that = comphelper::getUnoTunnelImplementation<Adapter>( + auto that = comphelper::getFromUnoTunnel<Adapter>( xInvocation->getIntrospection()->queryAdapter(cppu::UnoType<XUnoTunnel>::get())); if( that ) return that->getWrappedObject(); diff --git a/pyuno/source/module/pyuno_adapter.cxx b/pyuno/source/module/pyuno_adapter.cxx index 53e012a8e78f..a6d10da1d779 100644 --- a/pyuno/source/module/pyuno_adapter.cxx +++ b/pyuno/source/module/pyuno_adapter.cxx @@ -75,7 +75,7 @@ Sequence<sal_Int8> Adapter::getUnoTunnelId() sal_Int64 Adapter::getSomething( const Sequence< sal_Int8 > &id) { - if (isUnoTunnelId<Adapter>(id)) + if (comphelper::isUnoTunnelId<Adapter>(id)) return reinterpret_cast<sal_Int64>(this); return 0; } diff --git a/pyuno/source/module/pyuno_runtime.cxx b/pyuno/source/module/pyuno_runtime.cxx index 10257a8ef69e..8c14bc0d2953 100644 --- a/pyuno/source/module/pyuno_runtime.cxx +++ b/pyuno/source/module/pyuno_runtime.cxx @@ -809,7 +809,7 @@ Any Runtime::pyObject2Any(const PyRef & source, enum ConversionMode mode) const if( adapterObject.is() ) { // object got already bridged ! - auto pAdapter = comphelper::getUnoTunnelImplementation<Adapter>(adapterObject); + auto pAdapter = comphelper::getFromUnoTunnel<Adapter>(adapterObject); mappedObject = impl->cargo->xAdapterFactory->createAdapter( adapterObject, pAdapter->getWrappedTypes() ); |