summaryrefslogtreecommitdiff
path: root/cppuhelper/source/shlib.cxx
AgeCommit message (Collapse)Author
2016-07-11getFactory only called with nullptr "key" argumentStephan Bergmann
Change-Id: I5148e1902cb3c1d2bb87b623dfd843ccadf6c430
2015-11-13Bogus assertStephan Bergmann
implementation can indeed be empty when cppu::writeSharedLibComponentInfo calls getEnvironmentFromModule(mod, curEnv, "", ""), which in the final if-branch calls getEnvironment with implementation = "". Happens when adding desktop/qa's test-active.oxt. Regression introduced with ae3a0c8da50b36db395984637f5ad74d3b4887bc "Add .component <implementation constructor='...' feature." Change-Id: Ia70958e4aa18d378ff35063bdf6187f6e073b765
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: I62a63915dfc0bced2cd8ffe3999cbde5c4d97b0b
2015-05-02cppuhelper: Allow logging the used services / constructors.Jan Holesovsky
Change-Id: I9090561032e2f6e97eb74b8f1e8cd1698171e6ea
2015-04-22Various #include <sal/log.hxx> fixupsStephan Bergmann
rtl/string.hxx and rtl/ustring.hxx both unnecessarily #include <sal/log.hxx> (and don't make use of it themselves), but many other files happen to depend on it. Cleaned up some, but something like grep -FwL sal/log.hxx $(git grep -Elw \ 'SAL_INFO|SAL_INFO_IF|SAL_WARN|SAL_WARN_IF') -- \*.cxx) shows lots more files that potentially need fixing before the include can be removed from rtl/string.hxx and rtl/ustring.hxx. Change-Id: Ibf033363e83d37851776f392dc0b077381cd8b90
2014-11-18cppuhelper: clean up public headers with include-what-you-useMichael Stahl
Change-Id: I41ba46831f24b2960a1fe982b74a2b623e682e0b
2014-07-01New loplugin:stringconcatStephan Bergmann
Change-Id: Id7c517fb37bc28797c45fc0dde83e866f2aa4aac
2014-06-05cppuhelper: remove SAL_THROW macroNoel Grandin
Change-Id: I54141071396d04e7bead56da14a665b8556ba6d2
2014-06-04cppuhelper: fix includesThomas Arnhold
Change-Id: I0e6bc822d19cf266dea716fe92f2ccd08d87c51f
2014-04-25Print the important failure messages on iOS even in a non-debug buildTor Lillqvist
It might be that having fprintfs leftover in an app submitted to the App Store is a no-go, but will fix that then if/when it happens. Change-Id: Ic671fcce567c655a06fd4ed139100dc9b6f435be
2014-01-24Log what we are about to "load" in the DISABLE_DYNLOADING caseTor Lillqvist
Change-Id: I75b9511e82d57da453527e7bc497ec1523ab2216
2014-01-14Use SAL_WARN, too, to increase chance of actually seeing the messageTor Lillqvist
Passing an, as such useful, verbose error message to the CannotActivateFactoryException constructor is fairly pointless if that exception ends up being unexpected and causes program termination. Which of course is exactly the case when one would be very interested in seeing any message associated with the exception. Change-Id: I1cd987669e39e47d5f072690dc5013e4a42fd50a
2014-01-01Only component-mapping.h is needed here.Matúš Kukan
Change-Id: I09fc944d7d19e8a2804d8530ba2a98b5719d8b37
2013-12-19Missing initializationStephan Bergmann
Change-Id: I177da4fbe87eacfb86b6196df3d023218b1c9012
2013-12-19Legacy cppu::loadSharedLibComponentFactory isn't DISABLE_DYNLOADING cond.Stephan Bergmann
Change-Id: I020d4fc382470d7bc08df9b88e42ac62c97cb47e
2013-12-19Add .component <implementation constructor="..." featureStephan Bergmann
...to directly call constructor functions of ComponentContext-based C++ implementations of (non-single-instance) UNO services. The case where these calls would need to be bridged across different environments (e.g., from gcc3 to gcc3:affine) is not yet implemented. bootstrap.component and expwrap.component are adapted accordingly as a proof-of- concept (which had previously been adapted to use the prefix="direct" feature, which may become unnecessary again in the end, depending on how to handle single-instance services/singletons). More to follow. Change-Id: I18682d75bcd29d3d427e31331b4ce8161dbb846d
2013-12-18Get more --disable-dynamic-loading code out of shlib.cxx.Matúš Kukan
It's not terribly nice, but, hopefully, better. The hope is that one day, lo_get_library_map will be no more. In lo_get_implementation_map we can specify more precisely what to link into the binary. Change-Id: I99a1854fbae05be2f70302cc56bea88e522ec129
2013-12-18bootstrap component: Split into implementation functions.Matúš Kukan
Change-Id: I91cb0177edd79485eab885e995e79b1a19a769d5
2013-12-18Deduplicate some foo_component_getFactory declarations.Matúš Kukan
Change-Id: I9304b62134bab375b721399ae078bf66e01191d8
2013-12-18Allow UNO component libraries to have each implementation in its own function.Matúš Kukan
Demonstrating on expwrap library. There is hope, this will bring code size savings for mobile platforms, where we don't need every implementation. Change-Id: I3519fb6148fd7a47ed9df092c73779ea6add552f
2013-12-16Allow setting environment value directly in .component filesStephan Bergmann
...for internal loader="com.sun.star.loader.SharedLibrary" components, instead of exported component_getImplementationEnvironmen (or implicit CPPU_CURRENT_LANGUAGE_BINDING_NAME). Adapted a few .component files as proof- of-concept, more to follow. Change-Id: I82332e0a48e6fc1da245990bb72265fe6e58447e
2013-12-16Clean-up uno/lbnames.hStephan Bergmann
Change-Id: I4bd729499aa8be58f04194656e35c1f79d5d4919
2013-12-16Clean-up: The "_" delimiter is logically not part of the prefixStephan Bergmann
Change-Id: I60329aabe465da48aac11ad76dd72e9a0ae4d078
2013-12-13Shortcut common case of calling same-env component_getFactory fnStephan Bergmann
Change-Id: I7f5d31c3b3e128b2df4d83c915673bf7b5d2ab8c
2013-12-13[API CHANGE] remove cppu::loadSharedLibComponentFactory w/ rPrefix againStephan Bergmann
...it was never meant to be called by client code anyway and is no longer needed to be exposed since the global service manager implementation moved to cppuhelper. Change-Id: If2d0510b2364084d36edeb156a3459d9b8aeb983
2013-12-11fdo#60698: Merge fastsax and sax_shared into expwrapMarcos Paulo de Souza
Change-Id: I6f8c6827c00db50184a46f39968f882b944d18d4 Reviewed-on: https://gerrit.libreoffice.org/6967 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
2013-12-11Let's have a static variable for getenv("UNO_ENV_LOG").Matúš Kukan
Change-Id: Id382726b86726515a9ae3017c11fad0420136a4c
2013-10-13Minor refactoring of iOS codeTor Lillqvist
Rename functions so that functions called by the UI layer for actions to happen in the LO layer and functions called by the LO layer for things to happen in the UI layer use different prefixes. Move declarations to the generic <touch/touch.h> and avoid iOS-specific types in the API. Change-Id: Ieb8979065e02a87c4a415c934163265f2790d011
2013-10-01WaE: 'rPath' : unreferenced formal parameterTor Lillqvist
Change-Id: I35aee7a1f8c2d79ac275262ba0cd002e4d034c95
2013-10-01prevent WaE with unused parametersMarkus Mohrhard
2013-10-01[API CHANGE] Stricter requirements for shlib.hxx function argumentsStephan Bergmann
rLibName -> uri must be an (absolute file) URI, rPath must be empty, and xKey must be null in loadSharedLibComponentFactory. While incompatible in theory, these functions should only be called internally, anyway. Change-Id: Iab144b199e4e7db62358283efec6877a5da19bab
2013-10-01[API CHANGE] Remove unused cppu::invokeStaticComponentFactory againStephan Bergmann
...that has neither been intended for external use anyway, nor has it ever been used internally since its dead-on-arrival inception in b16ab7a751c04049b4171df412f1ef0f4f9b02f2 "Add invokeStaticComponentFactory() for statically linked components: Will be used for iOS at least." Sigh. Change-Id: I17795b2a1945809688deba0a5492415fbe877400
2013-10-01[API CHANGE] Remove unused CPLD_ACCESS feature from C++/Java component loadersStephan Bergmann
...introduced in 2000 with 38974aeef6dfaa1c625cf5498ec553489dd08c87 "added library loading limitation by using env variable CPLD_ACCESSPATH=path1;path2; etc." and 9be3c618e0b1d2b2635bd7b134693ed5ff3021bc "#80090# restrict jar file access to java system property com.sun.star.comp.loader.CPLD_ACCESSPATH" but already in 2004 considered "a hack [that] seems to be unused nowadays" in 1d3164df959b31ba9f50ddc108569f3adec32ff7 "CWS sb20: #i29119# Replaced sandbox.jar-based class loader with an own one." Change-Id: I637afd5daeb4ca097edd17f834c81af892dcfc6a
2013-09-30Special-case Mac OS X .jnilibStephan Bergmann
Change-Id: I824e83271997888712f126f4197252d7beefccc1
2013-09-03Can unify this now it seemsTor Lillqvist
Change-Id: I2fd0e1967028ad6632b39dfaaf377c7186a89229
2013-09-03Update a few library namesTor Lillqvist
Change-Id: I17c575ce0d4ba55a47a97d86c69a00ef7f822838
2013-08-19Prefer using declarations over using directivesStephan Bergmann
Change-Id: I1316fc4ae1d4dab91684bdc059f5c69c5e0c401a
2013-05-02Adapt to library name changes for Android, tooTor Lillqvist
Change-Id: I6da1f38c5a9693c13ef841442cbef017d388416a
2013-05-01Library names have changed thanks to the "layer" changesTor Lillqvist
Change-Id: I764702510b612da478959f457f95e6040c22f998
2013-04-24Avoid (harmless) duplicate entryTor Lillqvist
Change-Id: Ice43ab89b57f6ddb6b06d2fc5784d438031e864b
2013-04-23libcomphelpgcc3 got renamed to libcomphelperTor Lillqvist
Change-Id: I8853c5102a7271e95adf7d420bb3ed719f5b96c6
2013-04-16do not use deprecated rtl_registerModuleForUnloadingMatúš Kukan
Change-Id: I59014906c8409fc7ac0f155c9562613c309b8b06 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-03-28Do support the deployment component unconditionally, and add ucpexpand1Tor Lillqvist
Change-Id: I8a3749be43efc77317f7f10c7fd6eadaf79f99c7
2013-03-28Need deployment component too when HAVE_FEATURE_EXTENSIONSTor Lillqvist
Don't look just at DESKTOP or not when deciding whether to compile that stuff. Change-Id: Ic9961ba27eb4a1e9360c67dd844c9243f1eff00e
2013-03-20Remove uses of rtl::OUString::compareToAscii(asciiStr, maxLength)Stephan Bergmann
...which is a confusing overload with unexpectedly different semantics from the one-parameter form. In preparation of marking it as deprecated. Change-Id: I4f176995546ae583fc570d770647ffc315eecc75
2013-03-19automated removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStringsThomas Arnhold
Done with a perl regex: s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms Change-Id: Idf28320817cdcbea6d0f7ec06a9bf51bd2c3b3ec Reviewed-on: https://gerrit.libreoffice.org/2832 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-03-18Wundef, fix various more or less broken debug codeLuboš Luňák
Change-Id: I347495f7960da099afdfbf3db608e0347b832f99
2013-02-25cppuhelper: log failures from osl_loadModule callsMichael Stahl
Change-Id: I37099d15cd403f48ca1716414f2e79cc1213d8c8
2013-01-30Removed several useless macros: A2OU, A2S, C2U, C2S, OUSTR, OUSTRINGJean-Noël Rouvignac
Change-Id: Ie859cb2dfdc7103c379fce56be88eef8fe390afd Reviewed-on: https://gerrit.libreoffice.org/1924 Tested-by: Luboš Luňák <l.lunak@suse.cz> Reviewed-by: Luboš Luňák <l.lunak@suse.cz>
2013-01-06UNO components have the "lib" prefix only on AndroidTor Lillqvist
That they do is a leftover hack from before we started using the DISABLE_DYNLOADING thing on Android, it isn't actually necessary any more. Earlier when the UNO components were actually dynamic libraries on Android (too, as on desktop OSes), they *had* to have names starting with "lib" or they would be silently skipped when packaging. Change-Id: I11a4689f316e1ffb640a5c3110c63296d2833a84