Age | Commit message (Collapse) | Author |
|
Change-Id: I02fa1aea1070a6485b96a67f7d6f7f56c022bd9e
|
|
This can happen for mobile platforms where we don't need singletons
like com.sun.star.deployment.ExtensionManager.
Change-Id: Iad6729539c7ed1ad2b3315c7b9a35647e92ebbff
|
|
Change-Id: I6e0e6c1e4880a652ea4d8f0cccf9d8103c2cbbef
|
|
Change-Id: Id1badf4ae68d322a6e05e900aa63bdb124387bab
|
|
It only tracks whether to dispose a singleton instance now, and (at least
conceptually) no longer remembers the single instance (apart from what is
necessary in order to call dispose on it), as the underlying implementation
already needs to keep track of that to support direct calls of constructor
functions.
Change-Id: I154bf05438e1db099c1c5ffb1c56377725c6bfc6
|
|
Change-Id: Iaf2d742ae3dcc15a915a996805955d93daac9d45
|
|
Change-Id: I512c525029ebd63d261560d27e9f38bbe94f7e10
Reviewed-on: https://gerrit.libreoffice.org/7649
Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org>
Reviewed-by: Marcos Souza <marcos.souza.org@gmail.com>
Tested-by: Marcos Souza <marcos.souza.org@gmail.com>
|
|
...and deprecate what cannot be removed for compatibility.
Change-Id: I1ea335af775b867b468b8285113631167729a92a
|
|
Change-Id: Iaf63fd2282ce8de4f4c3dc7120afe1bc0613228a
|
|
Change-Id: I75b9511e82d57da453527e7bc497ec1523ab2216
|
|
...to improve diagnosing misuses of boolean expressions in client code (cf.
compilerplugins/clang/implicitboolconversion.cxx). This change should be
transparent to client code.
Missing overloads of insert() for bool have been added to OStringBuffer and
OUStringBuffer (which required dropping one !VALID_CONVERSION check that would
now pick that overload, but would be flagged by
compilerplugins/clang/pointertobool.cxx).
Change-Id: I2d64cd923b8f47bfaa31e753def6515c29a3f8c9
|
|
This is much better approach compared to the callback function, as it allows
passing arguments to the c++ constructor directly, while still allowing some
additional initialization after having acquired the instance.
Change-Id: I5a0f981915dd58f1522ee6054e53a3550b29d624
|
|
Many of the initalizations (in eg. framework) have to be done on an
acquire()'d object, so instead of doing the initialization directly, return
the initialization member function back to the createInstance() /
createInstanceWithContext() / ... and perform the initialization there.
As a sideeffect, I belive the calling initialize() from servicemanager is not
that much a hack any more - whoever converts the implementation to be
constructor-base has the choice to provide the callback, or still initialize
through XInitialization, where the callback is preferred by servicemanager
when it exists.
Change-Id: I8a87b75c54c1441ca0f184967d31ff4902fc4081
|
|
Change-Id: I661eb69551eae3d888d156c6bd4291a532d0b6ab
|
|
Most of the constructors are supposed to be only a call of
new TheInstance(arguments)
or an equivalent; so let's just change the constructor caller accordingly, to
accept unacquired new instance.
If there are exceptions that need to do more heavy lifting, they do not have
to use the constructor feature, or there can be a wrapper for the real
implementation, doing the additional work in their (C++) constructor.
Change-Id: I035c378778aeda60d15af4e56ca3761c586d5ded
|
|
... cppuhelper::ServcieManager::Data::Implementation::dispose
Change-Id: I70a96e608f17eb6630326bbf32fff5fb5d7d4569
|
|
The service manager now keeps track of instances of singleton implementations
(i.e., implementations whose XML description lists at least one
<singleton ...>). These instances will be disposed either when the service
manager is disposed, or, for instances that have been instantiated into the
component context's /singleton/* map, when the component context is disposed.
This change allows to use constructor functions for such singleton
implementations, too.
Change-Id: I220c9ddc9824e4d7f7556daefb599e2ec36b0e6c
|
|
Change-Id: I19ce8bd1a23123ac9a62a7fc95cd54fea5315221
|
|
Change-Id: I324f25bb5ec7d792c3e015815f2a11b08f519764
|
|
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
|
|
While strictly speaking an incompatible change, it is extremely unlikely that
external code uses cppu::Enterable at all; this should always have been a
private URE implementation detail.
Change-Id: I2c3fe754fe6268b18ca03532229f3403736f6f6e
|
|
Convert code like:
buf.append( static_cast<sal_Unicode>('!') );
to:
buf.append( '!' );
Change-Id: Iacb03a61de65a895540940953b49620677b3d051
|
|
Change-Id: I09fc944d7d19e8a2804d8530ba2a98b5719d8b37
|
|
Change-Id: Ia5f104bfd707bcf4e159c78ca2764c861fb0b6d9
|
|
Change-Id: I177da4fbe87eacfb86b6196df3d023218b1c9012
|
|
Change-Id: I020d4fc382470d7bc08df9b88e42ac62c97cb47e
|
|
Change-Id: I59d77b4712e273318409a326c835861dc467596c
|
|
...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
|
|
Change-Id: I91cb0177edd79485eab885e995e79b1a19a769d5
|
|
Change-Id: I9304b62134bab375b721399ae078bf66e01191d8
|
|
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
|
|
Change-Id: I56f38bd786f3a026cb2908f28540dc9c4003af83
|
|
Change-Id: I5150eec33228e18e274a8ae4effd3f185851b7f4
Reviewed-on: https://gerrit.libreoffice.org/7103
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
...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
|
|
Change-Id: I402040a4b747d457b1b7a3695d0b3567fa7bf478
|
|
Change-Id: I4bd729499aa8be58f04194656e35c1f79d5d4919
|
|
Change-Id: I60329aabe465da48aac11ad76dd72e9a0ae4d078
|
|
Change-Id: I90e22a5532f59b190c59d267256b5e889e82da74
|
|
Change-Id: I7f5d31c3b3e128b2df4d83c915673bf7b5d2ab8c
|
|
...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
|
|
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>
|
|
Change-Id: Id382726b86726515a9ae3017c11fad0420136a4c
|
|
This is largely unnecessary when working with OUString
Change-Id: I3cf4d68357a43665d01162ef4a2d5346a45da9be
|
|
Change-Id: I62e953c886886158f227362fef7048459192217b
|
|
Convert code like
aStr.compareToAscii("XXX") == 0
to
aStr.equalsAscii("XXX")
which is both easier to read and faster.
Change-Id: I448abf58f2fa0e7715dba53f8e8825ca0587c83f
|
|
Convert code like:
0 == aStr.compareToAscii("XXX")
to
aStr.equalsAscii("XXX")
which is both clearer and faster.
Change-Id: I2e906d7d38494db38eb292702fadb781b1251e07
|
|
Change-Id: Ifb220af71857ddacd64e8204fb6d3e4aad8eef71
|
|
Convert code like:
if( aStr == OUString("xxxx") )
to this:
if( aStr == "xxxx" )
Change-Id: I8d201f048477731eff590fb988259ef0935c080c
|
|
This also means that this code now gets bounds checked in debug builds.
Change-Id: Id777f85eaee6a737bbcb84625e6e110abe0e0f27
|