GSoC 25: BASIC IDE - Insights from Data Discovery & C++ PoCs [WEEK 4]

Stephan Bergmann stephan.bergmann at allotropia.de
Wed Jun 25 05:18:46 UTC 2025


On 6/20/25 10:05, Devansh Varshney wrote:
> *I have two question:*1. When .rdbfiles are loaded by LibreOffice
> Runtime, are their contents placed into a single, unified
> in-memory database, or do they maintain separation within that
> memory space? With older binary .rdbfiles, regmergewas used
> to consolidate data from separate .rdbfiles.

Data about the two different kinds of .rdb files, one for component 
(i.e., service and singleton) implementations (i.e., what is codified in 
.component files) and one for UNOIDL entities (both types and non-types; 
i.e., what is codified in .idl files), are kept distinct, see 
cppuhelper/source/servicemanager.cxx for the former and 
cppuhelper/source/typemanager.cxx for the latter.

> 2. How can we programmatically distinguish a "service name" from an
> "interface name"? I know interfaces often start with 'X', but is there
> a more definitive method than just naming conventions?

The css.reflection.TypeDescriptionManager service provides information 
about all kinds of UNOIDL entities, both types and non-types (like 
services and singletons).


More information about the LibreOffice mailing list