Question About Advanced UNO

Hassan Sajjad hassan.sajjad069 at gmail.com
Thu Dec 21 23:56:01 UTC 2023


Hi.

I am reading this link to get an understanding of UNO
https://wiki.documentfoundation.org/Documentation/DevGuide/Advanced_UNO

Close to the end, it is mentioned that "The disadvantage of the above
function is that it must acquire and release the *mutex* every time it is
called. The double-checked locking idiom was developed to reduce the need
for locking, leading to the following modified function. Do not use.:"

But locking is not needed in C++11 https://stackoverflow.com/a/449823.

The documentation mentions that "Implementing a UNO component that is
instantiated on demand from any other language at the global service
manager. In addition to 2) above, a binding must provide the code that
starts up the runtime engine of the target environment. For example, when a
Java UNO component is instantiated by the LibreOffice process, the Java VM
must be loaded and initialized, before the actual component is loaded
(bidirectional binding)"

 Where is the global service manager? Is it in C++? How to implement a UNO
Component in C++? How to instantiate a UNO Component at the global service
manager in C++.

Best,
Hassan Sajjad
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20231222/dc0e0971/attachment.htm>


More information about the LibreOffice mailing list