summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-09-08 11:28:30 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-09-08 14:03:14 +0200
commitfbe8cc7feb9ead5918b0c52d4211caf4a10c8212 (patch)
tree4a6897961edcfa4d23977285315bcffbc6ce883e /include
parentb69e14038288387b5f288a06821fb5df66dcf94e (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.hxx248
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