<div dir="ltr"><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><p><span style="font-family:monospace">Hi Stephan and everyone,</span></p><span style="font-family:monospace">Thanks for the clarification on the registry split. That cleared up the<br>confusion I had around why `forName()` worked for types but failed for<br>service names like `com.sun.star.frame.Desktop`.<br><br>I now understand that:<br><br>- Components (services, singletons) are handled by the ServiceManager<br> (cppuhelper/source/servicemanager.cxx)<br>- UNOIDL entities (types, structs, enums) are handled by the TypeManager<br> (cppuhelper/source/typemanager.cxx)<br><br>So for the Object Browser, the data provider will query both systems:<br>the ServiceManager for creatable components, and the TypeManager (via<br>`theCoreReflection`) for types.<br><br>Appreciate the precise pointers. This helps make the data pipeline<br>design a lot clearer.</span></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><span style="font-family:monospace"><br></span></div><div class="gmail_default" style="font-family:comic sans ms,sans-serif"><span style="font-family:monospace"><br></span></div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, 25 Jun 2025 at 10:48, Stephan Bergmann <<a href="mailto:stephan.bergmann@allotropia.de">stephan.bergmann@allotropia.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 6/20/25 10:05, Devansh Varshney wrote:<br>
> *I have two question:*1. When .rdbfiles are loaded by LibreOffice<br>
> Runtime, are their contents placed into a single, unified<br>
> in-memory database, or do they maintain separation within that<br>
> memory space? With older binary .rdbfiles, regmergewas used<br>
> to consolidate data from separate .rdbfiles.<br>
<br>
Data about the two different kinds of .rdb files, one for component <br>
(i.e., service and singleton) implementations (i.e., what is codified in <br>
.component files) and one for UNOIDL entities (both types and non-types; <br>
i.e., what is codified in .idl files), are kept distinct, see <br>
cppuhelper/source/servicemanager.cxx for the former and <br>
cppuhelper/source/typemanager.cxx for the latter.<br>
<br>
> 2. How can we programmatically distinguish a "service name" from an<br>
> "interface name"? I know interfaces often start with 'X', but is there<br>
> a more definitive method than just naming conventions?<br>
<br>
The css.reflection.TypeDescriptionManager service provides information <br>
about all kinds of UNOIDL entities, both types and non-types (like <br>
services and singletons).<br>
</blockquote></div><div><br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-family:monospace"><b>Regards,</b></span></div><div><span style="font-family:monospace;color:rgb(153,0,255)"><b>Devansh</b></span><br></div></div></div>