Commit Graph

538 Commits

Author SHA1 Message Date
Tor Lillqvist
d1006596f2 Update library names for DISABLE_DYNLOADING
Change-Id: I2b5e4abdceea25180c9caafabc49c22077016a05
2012-10-11 10:07:08 +03:00
Tor Lillqvist
97f27e2cda Include android-bootstrap.h for Android
Change-Id: I022f7d450f66e1ff0fb4e4aedfebc16b83ad32b9
2012-10-11 10:07:04 +03:00
Tor Lillqvist
3c4c117008 I want to see what unknown library is required always
Change-Id: I7e0eb7ba3be8ac2b70e6a56d84c1a890be0ba396
2012-10-09 11:41:31 +03:00
Tor Lillqvist
97593ae24a Handle lack of module loading/unloading API when DISABLE_DYNLOADING
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
2012-10-07 07:59:15 +03:00
Stephan Bergmann
eff6d4e01b Version name/dependency cleanup towards 3.7
Change-Id: Ib5da7703bf48713093bc6a3380facafd0013e039
2012-10-04 11:33:43 +02:00
Tor Lillqvist
0c1553a86e Disable-dynloading updates to component list
Change-Id: Idf092958e46a2ad9d56541c90c5a2beb44baff48
2012-10-04 07:23:25 +03:00
Stephan Bergmann
d2092dc56b Keep null service manager throw a DeploymentException
...rather than a general RuntimeException, for consistency with existing service
ctor code.

Change-Id: Ia9ac14a1b5bcecb24394e7b9cade369f3f9303f0
2012-09-17 19:12:34 +02:00
Stephan Bergmann
543158edba Require XComponentContext.getServiceManager to throw instead of returning null
This is such a fatal error that there is probably no point in trying to handle
it, so allow to simplify client code by removing the requirement to check for a
null return value.

Simplified some client code accordingly (modules configmgr and ure, and the code
generated by cppumaker and javamaker).

Change-Id: I51c0b270ec73409374f7439a47ee061407a46e31
2012-09-17 16:59:53 +02:00
Norbert Thiebaud
195f17ee40 migrate some of the biggest consumer of osl_*InterlockedCount to osl_atomic
Change-Id: I0e6992afbeffaf3b993e6630fb396d93012890e0
Reviewed-on: https://gerrit.libreoffice.org/632
Tested-by: Norbert Thiebaud <nthiebaud@gmail.com>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
2012-09-17 14:26:12 +00:00
Stephan Bergmann
2171077c0c Introduce cppu::supportsService helper, adapt some call-sites
...more to follow (easy hack?)

Change-Id: Icb02626495701a3905c124c7368b98c3258e91b2
2012-09-14 19:32:30 +02:00
Stephan Bergmann
35d474ff8c Fix removeRdbFiles (caused extension update to fail)
removeRdbFiles suffered from a confusion that ImplementationInfo.uri denotes the
corresponding component (.so, .jar, etc.), but not the .rdb file.  So removing
an .rdb file silently failed to remove the corresponding implementations, so re-
installing a similar enough .rdb (as typically happens during extension update)
would fail due to duplicate implementation names.

Change-Id: I25d4ff72656c99a3af509eef09e89c18cfd0aabe
2012-08-24 17:18:28 +02:00
Stephan Bergmann
8caf1164ee Missing mutex lock
Change-Id: Ifddd6131c2e62057561d4b17eeda88568f6ccf7c
2012-08-10 14:35:04 +02:00
Stephan Bergmann
142d3ec875 Related fdo#52639: Do not destroy Implementations with mutex locked
Erasing from data_ member maps can destroy contained Implementations, which in
turn releases the UNO objects referenced from there, which in turn can cause
XComponents to dispose, which in turn can call arbitrary code, so must not be
done with rMutex locked.  Witness the backtrace at
<https://bugs.freedesktop.org/attachment.cgi?id=65142> linked from fdo#52639
(where this fix appears otherwise unrelated to that issue's main topic).

Change-Id: If55a3841b761ec1d9a0ef61fe54784426c4ee442
2012-08-09 17:44:14 +02:00
Stephan Bergmann
9fc870fc33 ServiceManager::createInstanceWithContext needs to honor given Context
...in loadImplementation (instead of using the context the ServiceManager itself
was created with).  Otherwise, the handcrafted context containing a fake
theJavaVirtualMachine singleton in install_vm_singleton
(javaunohelper/source/vm.cxx) would not be honored, so that if a Java process
bootstraps native (binary) UNO and from there tries to obtain that singleton, it
would erroneously try to instantiate another JVM instead of using the existing
one.  This was a regression introduced with the new ServiceManager and could be
witnessed by test-javanative in ure/source/uretest/Makefile failing.

Change-Id: I58cfbc8cdaea7ee4ab80fac728ea3e85676d69e1
2012-08-08 18:36:40 +02:00
Christophe JAILLET
0cba5e5d25 This look like the same as rLibName.endsWithIgnoreAsciiCase so kill it. Add missing { }
Untested as I don't have a working build environment yet.

Change-Id: I1988da8c07729eb99d3f53f71b8f950df29a7361
2012-07-13 16:36:04 +02:00
Stephan Bergmann
2e7702fb70 fdo#51143 Do not wrap CannotActivateFactoryException as DeploymentException
...as some client code catches just the former and thus fails now.  (This was a
regression introduced with the recent cppuhelper/source/defaultbootstrap.cxx.)

Change-Id: I8306797f8331d894ab4e7695478e3824e9f79197
2012-07-13 12:12:41 +02:00
Michael Meeks
b9042fad7c re-base on ALv2 code.
Change-Id: I6c145e984c885c7e06caa1c27bfb354ea49ad9ce
2012-06-21 15:00:05 +01:00
Tor Lillqvist
f79d5b9116 Unbreak stuff on iOS a bit after bootstrapping changes
Change-Id: I0d2ebfc9aa78a9fed057b853d54797a88218c587
2012-06-04 11:41:50 +03:00
Stephan Bergmann
5fd78feebe Revert "bootstrapping should elide duplicate .rdb paths in the configuration"
This reverts commit b162aec625, which increased
code complexity for no benefit (the dubious scenario it was introduced for
concerned duplicate service rdbs rather than type rdbs, anyway).
2012-06-01 10:10:07 +02:00
Stephan Bergmann
0951b76a00 Add "virtual" for consistency
Change-Id: I8ecc2edde553edbd80ca04e2f3d541c31f516211
2012-06-01 10:09:18 +02:00
Stephan Bergmann
c16d0dd846 fdo#49291 Postpone actual factory instantiation as long as possible
...see comment in ServiceManager::createContentEnumeration for a rationale.

Splitting ImplementationInfo out of Implementation has become necessary to avoid
circular references.

Change-Id: I29aef81ce78b9ab71e18663f8c7e6ca913c6a650
2012-06-01 09:59:49 +02:00
Takeshi Abe
3ac9b7af76 removed dead code
Change-Id: Ic70d66befc90450aeb276d53f6da7e81aef85478
2012-05-29 00:11:30 +09:00
Michael Meeks
b162aec625 bootstrapping should elide duplicate .rdb paths in the configuration 2012-05-22 11:35:36 +01:00
Michael Stahl
5729da18a1 fdo#42865: privatized unique empty string symbol:
Unfortunately this --enable-dbg-util only problem (caused by
_GLIBCXX_DEUBG) resurfaced, perhaps because of new std::string based
logging in sal; adapt all map files to export the unique symbol.
2012-05-18 16:33:19 +02:00
Stephan Bergmann
d8ade3ccf6 Added link to LanguageTool.oxt issue
Change-Id: Ifab63273b12963e748c9b937648b2079fcd0c796
2012-05-14 18:48:22 +02:00
Stephan Bergmann
3b1798a55b Work around extension factories not implementing XServiceInfo
...that would otherwise lead to "Bad insert element" failure during live-insertion.

Change-Id: I74f883c9b613f03256abb7be7657f25b418f821d
2012-05-14 18:20:30 +02:00
Thomas Arnhold
135c63c8f9 fdo#48253 Expand SAL_STATIC_CAST and SAL_CONST_CAST
Change-Id: I50f0887ceb4517d7ef234f970ca2ba679d533382
2012-05-04 15:52:57 +02:00
Caolán McNamara
f5a414d242 WaE: simple minded MSVC2008 thinks s could be used uninitialized 2012-04-24 11:56:49 +01:00
Stephan Bergmann
015283bb50 Trying to parse legacy rdb as XML can cause InvalidRegistryException, too 2012-04-23 18:41:29 +02:00
Stephan Bergmann
0bbf79005a Do not fail for legacy rdb that only contains root key 2012-04-23 11:47:45 +02:00
Stephan Bergmann
18a9e9e844 Various clean up of previous commit 2012-04-20 23:37:14 +02:00
Stephan Bergmann
c2fd9b533c New cppu::defaultBootstrap_InitialComponentContext implementation
...that no longer uses XSimpleRegistry structures for the service data and thus
is potentially more performant.

* Registry-based functions from cppuhelper/bootstrap are deprecated now, client
  code should always use defaultBootstrap_InitialComponentContext.

* References to the obsolete UNO_WRITERDB have been removed.

* Some of the functions in cppuhelper/source that are used from multiple .cxx
  but had not been properly placed into .hxx have been cleaned up.

* css.lang.ServiceManager XSet insert/remove now support special
  sequence<NamedValue> to improve live deployment/removal of XML-based extension
  components data.

* 09524d410b "stoc: accelerate opening of multiple
  XML .rdb files in a directory" and its follow-up
  cb5c881a7f "avoid using the new rdb reading
  logic for empty/non-existent directories" have been obsoleted by this change
  and have been reverted again.
2012-04-20 22:57:32 +02:00
Stephan Bergmann
a26c2ee3c9 Put create_bootstrap_macro_expander_factory properly into a header
...and fix the typo in its name.
2012-04-18 15:59:58 +02:00
Michael Meeks
cb5c881a7f avoid using the new rdb reading logic for empty/non-existent directories 2012-04-18 11:04:42 +01:00
Tor Lillqvist
b0105caa7f Add static mapping of the fastsax component 2012-04-18 01:23:49 +03:00
Florian Allmann-Rahn
223b99165a translated or removed german comments in connectivity, cppuhelper and cui 2012-04-17 11:32:31 +02:00
Tor Lillqvist
c92e66c38a More static UNO component linkage 2012-04-17 00:28:47 +03:00
Tor Lillqvist
2aadb6f9f4 Add the package2 component 2012-04-16 01:46:39 +02:00
Tor Lillqvist
906aa9dea2 Add utl and xstor UNO component mapping 2012-04-15 11:56:55 +02:00
Tor Lillqvist
3061e9e866 Add newline... 2012-04-15 11:56:54 +02:00
Tor Lillqvist
d31997559a Add comphelp and stocservices UNO component mapping 2012-04-15 11:56:53 +02:00
Tor Lillqvist
220336d736 Just assert if trying to "load" an unknown library when DISABLE_DYNLOADING 2012-04-15 11:56:52 +02:00
Tor Lillqvist
e56b2109c0 Map and link in also the sfx UNO component 2012-04-15 11:56:51 +02:00
Tor Lillqvist
91ff02ec77 Map and link in also the filterconfig1 UNO component 2012-04-15 11:56:49 +02:00
Michael Meeks
09524d410b stoc: accelerate opening of multiple XML .rdb files in a directory
Instead of nesting these, we aggregate them into a single non-nested
registry, which saves lots of CPU at startup, sadly we can only do
that for the new-style XML registries, so we have to sniff files,
nevertheless this is still far faster. The merged xml files also
break the XSimpleRegistry::getURL() method - but it appears not
to get called.
2012-04-14 01:34:59 +02:00
Tor Lillqvist
0b67dd10f8 Use lo_get_libmap() 2012-04-09 22:43:52 +03:00
Szabolcs Dezsi
d6bc02f8c4 Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operator 2012-04-06 20:03:42 +02:00
Szabolcs Dezsi
743f22045c Replaced equalsAsciiL(RTL_CONSTASCII_STRINGPARAM(...)) with == operator
Pattern used:

find . -name "*.cxx" -exec sed -i 's/\( *\)\(else if\|if\) *( *\([^!()|&]*\)\.equalsAsciiL( *RTL_CONSTASCII_STRINGPARAM *( *\([^)]*\)) *) *)$/\1\2 ( \3 == \4 )/' \{\} \;
2012-04-06 15:07:41 +02:00
Tor Lillqvist
1a4cbf9f5c More static lib name mappings. Yeah, need to do a gperf thing some night 2012-03-30 08:37:14 +03:00
Tor Lillqvist
b5e4de326f Add some more temporary hardcoded library mappings for DISABLE_DYNLOADING 2012-03-29 09:49:45 +03:00