On 14/09/12 19:32, Libreoffice Gerrit user wrote:
New commits:
commit 2171077c0c3c43a61546ab2c0ae68ba63c5112f7
Author: Stephan Bergmann <sbergman@redhat.com>
Date: Fri Sep 14 19:27:00 2012 +0200
Introduce cppu::supportsService helper, adapt some call-sites
...more to follow (easy hack?)
+namespace cppu {
+
+/** A helper for implementations of com.sun.star.lang.XServiceInfo.
+
+ This function is supposed to be called from implementations of
+ com::sun::star::lang::XServiceInfo::supportsService (and therefore, for
+ easier coding takes the caller's this pointer by pointer rather than by
+ com::sun::star::uno::Reference).
+
+ @param implementation points to the service implementation whose
+ getSupportedServices method is consulted; must be non-null
+
+ @param name the service name to test
+
+ @return true iff the sequence returned by the given implementation's
+ getSupportedServices method contains the given name
+
+ @since LibreOffice 3.7
+*/
+bool CPPUHELPER_DLLPUBLIC supportsService(
+ com::sun::star::lang::XServiceInfo * implementation,
+ rtl::OUString const & name);
+
+}
that is nice, but it solves only half of the XServiceInfo boilerplate
problem...
a couple years ago i've added this in sw/inc/unobaseclass.cxx:
::com::sun::star::uno::Sequence< ::rtl::OUString >
GetSupportedServiceNamesImpl(
size_t const nServices, char const*const pServices[]);
sal_Bool SupportsServiceImpl(
size_t const nServices, char const*const pServices[],
::rtl::OUString const & rServiceName);
can be used with a single global array.
hmm... if the pServices were required to be sorted then supportsService
could even use binary search
Context
- Re: .: accessibility/source cppuhelper/inc cppuhelper/Library_cppuhelper.mk cppuhelper/Package_inc.mk cppuhelper/source cppuhelper/test UnoControls/source · Michael Stahl
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.