office-gobmx/extensions
Armin Le Grand (allotropia) 9bd2012df7 ITEM: Speedup SlotIDToWhichID translations
With ItemInfoPackages we now can have a buffered, static
global translation table from SlotIDs to WhichIDs since
the ItemInfoStatic used already contains all the needed
information.
Register that in registerItemInfoPackage at the Pool and
use it for lookup. That speeds up the lookup from O(n)
to O(1). Since that lookup is used in UI and UNO API
implementations this has positive effect on load/safe,
but also all interactive stuff in the whole office.

NOTE: I tried to use a merged version of that translation
table in the parent pool, but this shows double SlotIDs,
what is no wonder since that's what those are used for:
To get different WhichIDs for a SlotID in Item handling.
This *might* prevent getting rid of the chanined Pools
at all - sadly. The returned WhichID directly depends
on which Pool the function(s) GetWhichIDFromSlotID and
GetTrueWhichIDFromSlotID are called.

NOTE: Very strange is that the parameter 'bDeep' in that
functions is *not* passed down to the call to the
secondary Pool - probably an error, but risky to fix,
that may change already the behaviour :-(

Change-Id: Iea77ffad0f6a5401ab74fea0bbfc2589c66680ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163597
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-02-19 20:04:34 +01:00
..
inc tdf#159151 Fix double space in Tree Control 2024-01-15 02:17:15 +01:00
qa Drop std::as_const from css::uno::Sequence iterations 2024-01-27 12:43:48 +01:00
source ITEM: Speedup SlotIDToWhichID translations 2024-02-19 20:04:34 +01:00
test tdf#148251 Use std::swap instead of using temporary values 2024-01-01 14:27:36 +01:00
uiconfig The name is macOS since 2016 2023-09-19 07:13:24 +02:00
AllLangMoTarget_pcr.mk
Configuration_updchk.mk
CppunitTest_extensions_bibliography.mk
CppunitTest_extensions_test_update.mk Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx 2022-08-18 17:10:19 +02:00
CustomTarget_automationtest.mk
CustomTarget_so_activex_idl.mk
CustomTarget_so_activex_x64.mk
Executable_twain32shim.mk
IwyuFilter_extensions.yaml
JunitTest_extensions_unoapi.mk
Library_abp.mk
Library_bib.mk
Library_dbp.mk
Library_ldapbe2.mk openldap: upgrade to release 2.6.4 2023-06-21 12:52:52 +02:00
Library_log.mk
Library_oleautobridge.mk tdf#158375: add expert option DisableOLEAutomation 2024-01-09 00:50:10 +01:00
Library_OOoSpotlightImporter.mk
Library_pcr.mk
Library_scn.mk
Library_so_activex.mk
Library_so_activex_x64.mk
Library_updatecheckui.mk
Library_updatefeed.mk
Library_updchk.mk officecfg,*: add Office::Security::Net::AllowInsecureProtocols 2023-11-09 16:51:31 +01:00
Library_WinUserInfoBe.mk
Makefile
Module_extensions.mk WASM add Calc as optional build result, make it build & run 2022-10-14 09:21:30 +02:00
Package_mdibundle.mk
Package_OOoSpotlightImporter.mk
README.md add some notes on how to debug online update from a dev version 2022-11-24 14:57:21 +01:00
UIConfig_sabpilot.mk
UIConfig_sbibliography.mk
UIConfig_scanner.mk
UIConfig_spropctrlr.mk
WinResTarget_activex.mk

Miscellaneous Modules

This module contains a grab-bag of unrelated miscellaneous libraries, none of which is an extension.

Application Online Update Checking

When we start LO, first InitUpdateCheckJobThread is created, via UpdateCheckJob::execute() (from extensions/source/update/check/updatecheckjob.cxx), as a reaction to a onFirstVisibleTask event. It waits 25 seconds (so that it does not interfere with the startup itself), and then calls UpdateCheck::initialize() (from extensions/source/update/check/updatecheck.cxx).

This creates one more thread, UpdateCheckThread, that regularly checks whether we have reached the time when we should ask for the update. If yes, asks for that, and shows the download button in the menu (if the new update is available).

The update server will decide if there is an update available based on the user-agent string created by UpdateInformationProvider::getUserAgent, the data used there is extracted from instdir/program/versionrc and the update server takes the buildid into account, so to experiment with the updates from a dev version getUserAgent needs to return a recognized id.

OLE Automation Bridge

A bridge between "OLE automation" and UNO, so you can use UNO services from JScript, VBScript, etc.

https://www.openoffice.org/udk/common/man/spec/ole_bridge.html

See udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl

This is initialized in Desktop::Main() in Desktop::OpenClients_Impl() by creating the service com.sun.star.bridge.OleApplicationRegistration, which is implemented by OleServer_Impl.

See extensions/source/ole/

ActiveX Control

This allows embedding LO into a Win32 application as an ActiveX control.

See extensions/source/activex/

Spotlight Provider

On macOS, this allows indexing ODF documents with Spotlight.

See extensions/source/macosx/spotlight/

Scanner Support

You can scan from LibreOffice, using platform specific backends like TWAIN/SANE.

See extensions/source/scanner/