office-gobmx/desktop
Tor Lillqvist a22cba07a4 tdf#128502: Try to support multiple documents in LibreOfficeKit-using process
The LibreOfficeKit-specific code typically has assumed that all the
"views" (SfxViewShell instances) are for the same document, because
all LibreOfficeKit-based application processes (including the "kit"
processes in Online and the iOS app) so far have only had one document
open at a time.

It is now possible to pass several document file names on the command
line to gtktiledviewer and that is an easy way to demonstrate how
badly it still works even with this patch.

Introduce a unique numeric document id that is increased in the
LibLODocument_Impl constructor. Add APIs to access that. When
iterating over views, try to skip views that are not of the document
visible in the "current" view, if we know what the "current" view is.

Also add a couple of FIXMEs at places where it is a bit unclear (to
me) whether it is correct to iterate over all views, or whether only
views for the "current" document are what we would want.

Change-Id: Id5ebb92a115723cdeb23907163d5b5f282016252
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95353
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
2020-06-09 17:24:17 +02:00
..
inc tdf#128502: Try to support multiple documents in LibreOfficeKit-using process 2020-06-09 17:24:17 +02:00
qa Make loplugin:simplifypointertobool handle parenthesized expressions 2020-05-28 09:48:09 +02:00
scripts Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
source tdf#128502: Try to support multiple documents in LibreOfficeKit-using process 2020-06-09 17:24:17 +02:00
test/deployment use for-range on Sequence in d* 2020-05-20 12:11:11 +02:00
uiconfig/ui Fix translation domains in .ui files 2020-05-13 22:40:30 +02:00
unx/source Reliably terminate soffice.bin when terminating soffice 2020-06-08 08:50:54 +02:00
util
win32/source Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
AllLangMoTarget_dkt.mk
CppunitTest_desktop_app.mk
CppunitTest_desktop_dialogs_test.mk
CppunitTest_desktop_lib.mk
CppunitTest_desktop_lokinit.mk
CppunitTest_desktop_version.mk
CustomTarget_desktop_unopackages_install.mk
CustomTarget_soffice.mk
Executable_minidump_upload.mk
Executable_oosplash.mk
Executable_quickstart.mk
Executable_sbase.mk
Executable_scalc.mk
Executable_sdraw.mk
Executable_simpress.mk
Executable_smath.mk
Executable_soffice_bin.mk
Executable_soffice_com.mk
Executable_soffice_exe.mk
Executable_sweb.mk
Executable_swriter.mk
Executable_unoinfo.mk
Executable_unopkg.mk
Executable_unopkg_bin.mk
Executable_unopkg_com.mk
Extension_test-active.mk
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 Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
Library_active_native.mk
Library_crashreport.mk
Library_deployment.mk
Library_deploymentgui.mk
Library_deploymentmisc.mk
Library_migrationoo2.mk
Library_migrationoo3.mk
Library_offacc.mk
Library_passive_native.mk
Library_sofficeapp.mk
Library_spl.mk
Library_unopkgapp.mk
Makefile
Module_desktop.mk
Package_branding.mk
Package_branding_custom.mk
Package_sbase_sh.mk
Package_scalc_sh.mk
Package_scripts.mk
Package_sdraw_sh.mk
Package_simpress_sh.mk
Package_smath_sh.mk
Package_soffice_sh.mk
Package_swriter_sh.mk
Pagein_calc.mk
Pagein_common.mk
Pagein_draw.mk
Pagein_impress.mk
Pagein_writer.mk
Pyuno_passive_python.mk
Rdb_passive_generic.mk
Rdb_passive_platform.mk
README
README.vars
StaticLibrary_winlauncher.mk
StaticLibrary_winloader.mk
UIConfig_deployment.mk
WinResTarget_quickstart.mk
WinResTarget_sbase.mk
WinResTarget_scalc.mk
WinResTarget_sdraw.mk
WinResTarget_simpress.mk
WinResTarget_smath.mk
WinResTarget_soffice.mk
WinResTarget_sofficebin.mk
WinResTarget_sweb.mk
WinResTarget_swriter.mk

What used to be the desktop in StarOffice 5 - now the binary.


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.