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
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
...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
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
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
...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
...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
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
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
...that has neither been intended for external use anyway, nor has it ever been
used internally since its dead-on-arrival inception in
b16ab7a751 "Add invokeStaticComponentFactory() for
statically linked components: Will be used for iOS at least." Sigh.
Change-Id: I17795b2a1945809688deba0a5492415fbe877400
...introduced in 2000 with 38974aeef6 "added
library loading limitation by using env variable CPLD_ACCESSPATH=path1;path2;
etc." and 9be3c618e0 "#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
1d3164df95 "CWS sb20: #i29119# Replaced
sandbox.jar-based class loader with an own one."
Change-Id: I637afd5daeb4ca097edd17f834c81af892dcfc6a
...which is a confusing overload with unexpectedly different semantics from the
one-parameter form. In preparation of marking it as deprecated.
Change-Id: I4f176995546ae583fc570d770647ffc315eecc75
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>
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
There are basicically two classes of cases:
1) Where the code is for obscure historical reasons or what I see as
misguided "optimization" split into a more libraries than necessary,
and these then are loaded at run-time. Instead, just use direct
linking.
2) Where dynamic loading is part of the functionality offered to some
upper (scripting etc) layer, or where some system-specific non-LO
library is loaded dynamically, as it is not necessarily present on
end-user machines. Can't have such in the DISABLE_DYNLOADING case.
Change-Id: I9eceac5fb635245def2f4f3320821447bb7cd8c0