The Language Binding DLLs

From Apache OpenOffice Wiki
Jump to: navigation, search



The language binding comprises five libraries. Some of these do not need to be dealt with by the programmer, but others must be used during the development or deployment process. All libraries compiled for the CLI are prefixed by “cli_” to separate them from ordinary native libraries:

  • cli_uno.dll: This is the CLI-UNO bridge that realizes the interaction between managed code (CLI) and UNO. It does not provide public types.
  • cli_cppuhelper.dll: Provides bootstrapping code to bootstrap native UNO, that is, to use various UNO services implemented in different languages. Types from this assembly are always used in client programs.
  • cli_ure.dll: Contains helper classes which are useful for implementing UNO interfaces. Types from this assembly are not necessarily used.
  • cli_types.dll: Provides classes and interfaces for components and client programs. It is a collection of all UNO interfaces currently used in the office. Types from this assembly are always used in client programs.
  • cli_basetypes.dll: As the name implies, it provides some base types, which are already needed for the generated UNO types in cli_types.dll. Since it contains the Any type, probably all programs need this library. Also the cli_types.dll depends on it.

These libraries are part of OpenOffice.org 2.0. Except for cli_uno.dll, they are installed in the Global Assembly Cache (GAC).

Changes in OpenOffice.org 3.0

cli_types.dll is replaced by cli_oootypes.dll and cli_uretypes.dll and both are installed in the GAC. The cli_uretypes.dll contains all types available to the URE (defined in project udkapi) and cli_oootype.dll contains all office types (defined in project offapi).

The consequence of this is that all client programs which linked with cli_types.dll do not work anymore. They need to be rebuild and reference cli_uretypes.dll and cli_oootypes.dll instead.

Modules

As of OpenOffice.org 3.0 the following modules contain the CLI-UNO libraries:

cli_ure: cli_uno.dll, cli_ure.dll, cli_basetypes.dll, cli_uretypes.dll

unoil: cli_oootypes.dll

desktop: cli_cppuhelper.dll

Content on this page is licensed under the Public Documentation License (PDL).
Personal tools