User:Pdefilippis/VCL

From Apache OpenOffice Wiki
Jump to: navigation, search

VCL

VCL is the Visual Class Library module of OpenOffice.org. It's goal is to link the graphical interface and the underlying management of the program together. VCL therefore handles all of the user interaction mechanisms with OOo such as the mouse and the keyboard. If you are interested in working on the porting of OOo to the Mac you will probably have to spend most of your time in this module. To get a strong grasp of the organisation of the module, you need to spend some time in the code. The learning curve is steep but you will understand the logic much better. The information below is aimed at making your journey a little easier. Below you can see the basic organisation of VCL and its subdivisions up to the aqua specific part.

VCL Tree


The System abstraction layer implements a basic abstraction of the underlying system. For your components to be system independent you should use SAL. SAL includes abstractions for thread creation and synchronization. Mechanisms for process communication and file system access are also part of this library. Management of libraries and profiles is also included. Functions for creating and manipulating strings and wide strings belong to SAL. The functionality of SAL is split in two namespaces osl (system functions) and rtl (strings and memory management) . SAL only exports functions conforming to the C calling convention. So, it should be suitable to be a system abstraction for any language.

Personal tools