office-gobmx/desktop
Skyler Grey 8e246331f6 Add a FunctionBasedURPConnection and a websocket URP connector
- FunctionBasedURPConnection is used to enable a client to open a URP
  connection to a fresh Kit instance in COOL.
- This URP connector can be used with that and
  https://github.com/CollaboraOnline/online/pull/6992 to use a Java Uno
  Remote Protocol client over websockets
- For interoperability with existing Collabora Online websockets a
  prefix (urp ) is added to each message sent and a similar prefix
  (urp: ) is expected on each message recieved. This allows sending over
  the same websocket as other data is being transmitted through. If you
  are writing a bridge to work with this, you will need to add/strip the
  prefixes accordingly
- This commit uses Java WebSocket
  (https://github.com/TooTallNate/Java-WebSocket) to send data over
  websockets.

Change-Id: I2bda3d0b988bef7883f9b6829eeb5b7ae8075f27
Signed-off-by: Skyler Grey <skyler.grey@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151171
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2023-09-01 16:55:37 +02:00
..
inc tdf#129713 Output message when using "--cat" with other LO instances running 2023-08-02 08:25:37 +02:00
qa Add a FunctionBasedURPConnection and a websocket URP connector 2023-09-01 16:55:37 +02:00
scripts Remove support for AIX 2023-01-27 07:28:16 +00:00
source Add a FunctionBasedURPConnection and a websocket URP connector 2023-09-01 16:55:37 +02:00
test/deployment Remove support for 32-bit S390 2023-01-27 07:29:14 +00:00
uiconfig/ui fix .ui indent 2023-07-25 20:49:20 +02:00
unx/source tdf#156825 Half of the splash screen is visible on both monitors under Linux 2023-08-22 13:15:57 +02:00
util
win32/source
AllLangMoTarget_dkt.mk
CppunitTest_desktop_app.mk Drop support for OpenGL denylist on X11 2022-03-28 14:31:07 +02:00
CppunitTest_desktop_dialogs_test.mk
CppunitTest_desktop_lib.mk Test paintPartTile behavior for views with different schemes 2023-08-03 09:14:19 +02:00
CppunitTest_desktop_lokinit.mk
CppunitTest_desktop_version.mk
CustomTarget_desktop_unopackages_install.mk
CustomTarget_soffice.mk Set entitlements in non-release in $(INSTROOTBASE) and .dmg package 2023-06-07 22:08:50 +02:00
Executable_minidump_upload.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_oosplash.mk tdf#156825 Half of the splash screen is visible on both monitors under Linux 2023-08-22 13:15:57 +02:00
Executable_quickstart.mk
Executable_sbase.mk
Executable_scalc.mk
Executable_sdraw.mk
Executable_simpress.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_smath.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_soffice_bin.mk Add LOKit functions and whitelist export for it to WASM 2022-11-30 23:57:54 +01:00
Executable_soffice_com.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_soffice_exe.mk
Executable_soffice_safe.mk
Executable_sweb.mk
Executable_swriter.mk
Executable_unoinfo.mk
Executable_unopkg.mk Make unopkg.com proper launcher for unopkg.bin on Windows 2020-01-23 06:20:22 +01:00
Executable_unopkg_bin.mk
Executable_unopkg_com.mk
Extension_test-active.mk Re-enable building test-active.oxt 2013-12-16 11:24:12 +01:00
Extension_test-crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Extension_test-passive.mk
GeneratedPackage_desktop_unopackages_install.mk
IwyuFilter_desktop.yaml
Jar_active_java.mk Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
Jar_passive_java.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_active_native.mk
Library_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Library_crashreport.mk Add HAVE_(UNIX_)DLAPI config header define 2022-01-18 13:44:53 +01:00
Library_deployment.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentgui.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentmisc.mk
Library_migrationoo2.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_migrationoo3.mk Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx 2022-08-18 17:10:19 +02:00
Library_offacc.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_passive_native.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_sofficeapp.mk Make LOKClipboard available to other modules 2023-02-06 17:02:54 +00:00
Library_spl.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_unopkgapp.mk
lokclipboard.component Make LOKClipboard available to other modules 2023-02-06 17:02:54 +00:00
Makefile
Module_desktop.mk Set entitlements in non-release in $(INSTROOTBASE) and .dmg package 2023-06-07 22:08:50 +02:00
Package_branding.mk
Package_branding_custom.mk gbuild: set Package default target to INSTDIR 2013-10-28 20:17:26 +01:00
Package_sbase_sh.mk
Package_scalc_sh.mk
Package_scripts.mk Unify condition names and fix "else" paths 2022-01-08 12:26:30 +01:00
Package_sdraw_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_simpress_sh.mk
Package_smath_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_soffice_sh.mk gbuild: set Package default target to INSTDIR 2013-10-28 20:17:26 +01:00
Package_swriter_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Pagein_calc.mk
Pagein_common.mk
Pagein_draw.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Pagein_impress.mk
Pagein_writer.mk
Pyuno_passive_python.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Rdb_passive_generic.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_passive_platform.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
README.md Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
README.vars
StaticLibrary_winlauncher.mk
StaticLibrary_winloader.mk WIN allow setting a memory limit for soffice.bin 2019-09-13 20:11:38 +02:00
UIConfig_deployment.mk
WinResTarget_quickstart.mk
WinResTarget_sbase.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_scalc.mk
WinResTarget_sdraw.mk
WinResTarget_simpress.mk
WinResTarget_smath.mk
WinResTarget_soffice.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
WinResTarget_sofficebin.mk
WinResTarget_sweb.mk
WinResTarget_swriter.mk

LibreOffice Binary

Code for the LibreOffice main binary (soffice) resides here. The soffice_main function for the soffice binary can be found here.

Stable Interface

Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:

soffice

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

unoinfo

In the program directory (program/ on Linux and Windows, Contents/MacOS/ on macOS).

When called with a sole argument of c++, it prints to stdout an absolute pathname denoting the directory where the public URE libraries are found.

When called with a sole argument of java, it prints to stdout a marker character (either an ASCII '0' or '1') followed by a sequence of zero or more absolute pathnames denoting jars or directories that need to be included in a class loader's search locations.

If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.

If the marker character is '1' (on Windows), the pathnames are encoded as UTF-16-LE two-byte code units, and any two pathnames in the sequence are separated from each other by two-byte NUL code units.

Other Binaries

oosplash

Splash screen for the LibreOffice soffice binary.

Extensions

The directory test/deployment contains some extensions to be used for testing:

  • test/deployment/crashextension: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.
    • Build with Extension_test-crashextension.
    • Extension can be found in workdir/Extension/test-crashextension.oxt
  • test/deployment/passive: C++, Java and Python extension samples with passive registration.
    • Build with make Extension_test-passive.
    • Extension can be found in workdir/Extension/test-passive.oxt
  • test/deployment/active: C++, Java and Python extension samples with active registration.
    • Build with make Extension_test-active.
    • Extension can be found in workdir/Extension/test-active.oxt