diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-08 11:28:30 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-09-08 14:03:14 +0200 |
commit | fbe8cc7feb9ead5918b0c52d4211caf4a10c8212 (patch) | |
tree | 4a6897961edcfa4d23977285315bcffbc6ce883e /include | |
parent | b69e14038288387b5f288a06821fb5df66dcf94e (diff) |
inline SC_QUERYINTERFACE macros
which means we need a few more cppu::queryInterface variants
Change-Id: I5cf7805ab9576919bfd66a3b239917e48a7f8f61
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156701
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/cppuhelper/queryinterface.hxx | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/include/cppuhelper/queryinterface.hxx b/include/cppuhelper/queryinterface.hxx index df9c9916cf8e..25961154b4d1 100644 --- a/include/cppuhelper/queryinterface.hxx +++ b/include/cppuhelper/queryinterface.hxx @@ -519,6 +519,254 @@ inline css::uno::Any SAL_CALL queryInterface( return css::uno::Any(); } +/** Compares demanded type to given template argument types. + @return acquired interface of demanded type or empty Any +*/ +template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, + class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, + class Interface11, class Interface12, class Interface13 > +inline css::uno::Any SAL_CALL queryInterface( + const css::uno::Type & rType, + Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, + Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, + Interface11 * p11, Interface12 * p12, Interface13 * p13 ) +{ + if (rType == Interface1::static_type()) + return css::uno::Any( &p1, rType ); + else if (rType == Interface2::static_type()) + return css::uno::Any( &p2, rType ); + else if (rType == Interface3::static_type()) + return css::uno::Any( &p3, rType ); + else if (rType == Interface4::static_type()) + return css::uno::Any( &p4, rType ); + else if (rType == Interface5::static_type()) + return css::uno::Any( &p5, rType ); + else if (rType == Interface6::static_type()) + return css::uno::Any( &p6, rType ); + else if (rType == Interface7::static_type()) + return css::uno::Any( &p7, rType ); + else if (rType == Interface8::static_type()) + return css::uno::Any( &p8, rType ); + else if (rType == Interface9::static_type()) + return css::uno::Any( &p9, rType ); + else if (rType == Interface10::static_type()) + return css::uno::Any( &p10, rType ); + else if (rType == Interface11::static_type()) + return css::uno::Any( &p11, rType ); + else if (rType == Interface12::static_type()) + return css::uno::Any( &p12, rType ); + else if (rType == Interface13::static_type()) + return css::uno::Any( &p13, rType ); + else + return css::uno::Any(); +} + +/** Compares demanded type to given template argument types. + @return acquired interface of demanded type or empty Any +*/ +template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, + class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, + class Interface11, class Interface12, class Interface13, class Interface14 > +inline css::uno::Any SAL_CALL queryInterface( + const css::uno::Type & rType, + Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, + Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, + Interface11 * p11, Interface12 * p12, Interface13 * p13, Interface14 * p14 ) +{ + if (rType == Interface1::static_type()) + return css::uno::Any( &p1, rType ); + else if (rType == Interface2::static_type()) + return css::uno::Any( &p2, rType ); + else if (rType == Interface3::static_type()) + return css::uno::Any( &p3, rType ); + else if (rType == Interface4::static_type()) + return css::uno::Any( &p4, rType ); + else if (rType == Interface5::static_type()) + return css::uno::Any( &p5, rType ); + else if (rType == Interface6::static_type()) + return css::uno::Any( &p6, rType ); + else if (rType == Interface7::static_type()) + return css::uno::Any( &p7, rType ); + else if (rType == Interface8::static_type()) + return css::uno::Any( &p8, rType ); + else if (rType == Interface9::static_type()) + return css::uno::Any( &p9, rType ); + else if (rType == Interface10::static_type()) + return css::uno::Any( &p10, rType ); + else if (rType == Interface11::static_type()) + return css::uno::Any( &p11, rType ); + else if (rType == Interface12::static_type()) + return css::uno::Any( &p12, rType ); + else if (rType == Interface13::static_type()) + return css::uno::Any( &p13, rType ); + else if (rType == Interface14::static_type()) + return css::uno::Any( &p14, rType ); + else + return css::uno::Any(); +} + +/** Compares demanded type to given template argument types. + @return acquired interface of demanded type or empty Any +*/ +template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, + class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, + class Interface11, class Interface12, class Interface13, class Interface14, class Interface15, + class Interface16, class Interface17 > +inline css::uno::Any SAL_CALL queryInterface( + const css::uno::Type & rType, + Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, + Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, + Interface11 * p11, Interface12 * p12, Interface13 * p13, Interface14 * p14, Interface15 * p15, + Interface16 * p16, Interface17 * p17 ) +{ + if (rType == Interface1::static_type()) + return css::uno::Any( &p1, rType ); + else if (rType == Interface2::static_type()) + return css::uno::Any( &p2, rType ); + else if (rType == Interface3::static_type()) + return css::uno::Any( &p3, rType ); + else if (rType == Interface4::static_type()) + return css::uno::Any( &p4, rType ); + else if (rType == Interface5::static_type()) + return css::uno::Any( &p5, rType ); + else if (rType == Interface6::static_type()) + return css::uno::Any( &p6, rType ); + else if (rType == Interface7::static_type()) + return css::uno::Any( &p7, rType ); + else if (rType == Interface8::static_type()) + return css::uno::Any( &p8, rType ); + else if (rType == Interface9::static_type()) + return css::uno::Any( &p9, rType ); + else if (rType == Interface10::static_type()) + return css::uno::Any( &p10, rType ); + else if (rType == Interface11::static_type()) + return css::uno::Any( &p11, rType ); + else if (rType == Interface12::static_type()) + return css::uno::Any( &p12, rType ); + else if (rType == Interface13::static_type()) + return css::uno::Any( &p13, rType ); + else if (rType == Interface14::static_type()) + return css::uno::Any( &p14, rType ); + else if (rType == Interface15::static_type()) + return css::uno::Any( &p15, rType ); + else if (rType == Interface16::static_type()) + return css::uno::Any( &p16, rType ); + else if (rType == Interface17::static_type()) + return css::uno::Any( &p17, rType ); + else + return css::uno::Any(); +} + +/** Compares demanded type to given template argument types. + @return acquired interface of demanded type or empty Any +*/ +template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, + class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, + class Interface11, class Interface12, class Interface13, class Interface14, class Interface15, + class Interface16, class Interface17, class Interface18 > +inline css::uno::Any SAL_CALL queryInterface( + const css::uno::Type & rType, + Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, + Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, + Interface11 * p11, Interface12 * p12, Interface13 * p13, Interface14 * p14, Interface15 * p15, + Interface16 * p16, Interface17 * p17, Interface18 * p18 ) +{ + if (rType == Interface1::static_type()) + return css::uno::Any( &p1, rType ); + else if (rType == Interface2::static_type()) + return css::uno::Any( &p2, rType ); + else if (rType == Interface3::static_type()) + return css::uno::Any( &p3, rType ); + else if (rType == Interface4::static_type()) + return css::uno::Any( &p4, rType ); + else if (rType == Interface5::static_type()) + return css::uno::Any( &p5, rType ); + else if (rType == Interface6::static_type()) + return css::uno::Any( &p6, rType ); + else if (rType == Interface7::static_type()) + return css::uno::Any( &p7, rType ); + else if (rType == Interface8::static_type()) + return css::uno::Any( &p8, rType ); + else if (rType == Interface9::static_type()) + return css::uno::Any( &p9, rType ); + else if (rType == Interface10::static_type()) + return css::uno::Any( &p10, rType ); + else if (rType == Interface11::static_type()) + return css::uno::Any( &p11, rType ); + else if (rType == Interface12::static_type()) + return css::uno::Any( &p12, rType ); + else if (rType == Interface13::static_type()) + return css::uno::Any( &p13, rType ); + else if (rType == Interface14::static_type()) + return css::uno::Any( &p14, rType ); + else if (rType == Interface15::static_type()) + return css::uno::Any( &p15, rType ); + else if (rType == Interface16::static_type()) + return css::uno::Any( &p16, rType ); + else if (rType == Interface17::static_type()) + return css::uno::Any( &p17, rType ); + else if (rType == Interface18::static_type()) + return css::uno::Any( &p18, rType ); + else + return css::uno::Any(); +} + +/** Compares demanded type to given template argument types. + @return acquired interface of demanded type or empty Any +*/ +template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, + class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, + class Interface11, class Interface12, class Interface13, class Interface14, class Interface15, + class Interface16, class Interface17, class Interface18, class Interface19 > +inline css::uno::Any SAL_CALL queryInterface( + const css::uno::Type & rType, + Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, + Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, + Interface11 * p11, Interface12 * p12, Interface13 * p13, Interface14 * p14, Interface15 * p15, + Interface16 * p16, Interface17 * p17, Interface18 * p18, Interface19 * p19 ) +{ + if (rType == Interface1::static_type()) + return css::uno::Any( &p1, rType ); + else if (rType == Interface2::static_type()) + return css::uno::Any( &p2, rType ); + else if (rType == Interface3::static_type()) + return css::uno::Any( &p3, rType ); + else if (rType == Interface4::static_type()) + return css::uno::Any( &p4, rType ); + else if (rType == Interface5::static_type()) + return css::uno::Any( &p5, rType ); + else if (rType == Interface6::static_type()) + return css::uno::Any( &p6, rType ); + else if (rType == Interface7::static_type()) + return css::uno::Any( &p7, rType ); + else if (rType == Interface8::static_type()) + return css::uno::Any( &p8, rType ); + else if (rType == Interface9::static_type()) + return css::uno::Any( &p9, rType ); + else if (rType == Interface10::static_type()) + return css::uno::Any( &p10, rType ); + else if (rType == Interface11::static_type()) + return css::uno::Any( &p11, rType ); + else if (rType == Interface12::static_type()) + return css::uno::Any( &p12, rType ); + else if (rType == Interface13::static_type()) + return css::uno::Any( &p13, rType ); + else if (rType == Interface14::static_type()) + return css::uno::Any( &p14, rType ); + else if (rType == Interface15::static_type()) + return css::uno::Any( &p15, rType ); + else if (rType == Interface16::static_type()) + return css::uno::Any( &p16, rType ); + else if (rType == Interface17::static_type()) + return css::uno::Any( &p17, rType ); + else if (rType == Interface18::static_type()) + return css::uno::Any( &p18, rType ); + else if (rType == Interface19::static_type()) + return css::uno::Any( &p19, rType ); + else + return css::uno::Any(); +} + } #endif |