Avoid potential negative array index access to cached text.
[LibreOffice.git] / extensions / README.md
blobcc32c1f825cb81489a1f12454272acff652c0914
1 # Miscellaneous Modules
3 This module contains a grab-bag of unrelated miscellaneous libraries, *none* of
4 which is an extension.
6 ## Application Online Update Checking
8 When we start LO, first `InitUpdateCheckJobThread` is created, via
9 `UpdateCheckJob::execute()` (from `extensions/source/update/check/updatecheckjob.cxx`),
10 as a reaction to a `onFirstVisibleTask` event. It waits 25 seconds (so that it
11 does not interfere with the startup itself), and then calls
12 `UpdateCheck::initialize()` (from `extensions/source/update/check/updatecheck.cxx`).
14 This creates one more thread, `UpdateCheckThread`, that regularly checks whether
15 we have reached the time when we should ask for the update.  If yes, asks for
16 that, and shows the download button in the menu (if the new update is
17 available).
19 The update server will decide if there is an update available based on the user-agent
20 string created by UpdateInformationProvider::getUserAgent, the data used there is
21 extracted from instdir/program/versionrc and the update server takes the buildid into
22 account, so to experiment with the updates from a dev version getUserAgent needs
23 to return a recognized id.
25 ## OLE Automation Bridge
27 A bridge between "OLE automation" and UNO, so you can use UNO services
28 from JScript, VBScript, etc.
30 <https://www.openoffice.org/udk/common/man/spec/ole_bridge.html>
32 See `udkapi/com/sun/star/bridge/oleautomation/ApplicationRegistration.idl`
34 This is initialized in `Desktop::Main()` in `Desktop::OpenClients_Impl()`
35 by creating the service `com.sun.star.bridge.OleApplicationRegistration`,
36 which is implemented by `OleServer_Impl`.
38 See `extensions/source/ole/`
40 ## ActiveX Control
42 This allows embedding LO into a Win32 application as an ActiveX control.
44 See `extensions/source/activex/`
46 ## Spotlight Provider
48 On macOS, this allows indexing ODF documents with Spotlight.
50 See `extensions/source/macosx/spotlight/`
52 ## Scanner Support
54 You can scan from LibreOffice, using platform specific backends like TWAIN/SANE.
56 See `extensions/source/scanner/`