<div dir="ltr">Hi.<div><br></div><div>I am reading this link to get an understanding of UNO <a href="https://wiki.documentfoundation.org/Documentation/DevGuide/Advanced_UNO">https://wiki.documentfoundation.org/Documentation/DevGuide/Advanced_UNO</a></div><div><br></div><div>Close to the end, it is mentioned that "<span style="color:rgb(32,33,34);font-family:sans-serif;font-size:17.5px">The disadvantage of the above function is that it must acquire and release the </span><i style="color:rgb(32,33,34);font-family:sans-serif;font-size:17.5px">mutex</i><span style="color:rgb(32,33,34);font-family:sans-serif;font-size:17.5px"> 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.:"</span></div><div><span style="color:rgb(32,33,34);font-family:sans-serif;font-size:17.5px"><br></span></div><div><span style="color:rgb(32,33,34);font-family:sans-serif;font-size:17.5px">But locking is not needed in C++11 </span><a href="https://stackoverflow.com/a/449823">https://stackoverflow.com/a/449823</a>. </div><div><br></div><div>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)"</div><div><br></div><div> 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++.<br></div><div><br></div><div>Best,</div><div>Hassan Sajjad</div><div><br></div></div>