[omniORB] Integration into a foreign event-loop

Felix Nawothnig fn at drdannenberg.de
Thu Jul 23 19:25:09 BST 2009


Liang Qi wrote:
>> Could you try my articles? Not sure whether they are solutions for
>> your requirements or not.
>> http://www.qiliang.net/blog/tag/omniorb

This only works because your server is not a GUI application.

Assume you'd make MainWidget implement another interface in the client, 
and have MainWidget::echoThread() become a CORBA method dispatched by 
omniORB, instead of a slot dispatched by Qt (well, it could be both).

You could no longer do that editor->setText(text); call inside 
MainWidget::hello() - to quote the Qt documentation ("Thread Support in 
Qt"):

Although QObject is reentrant, the GUI classes, notably QWidget and all 
its subclasses, are not reentrant. They can only be used from the main 
thread. As noted earlier, QCoreApplication::exec() must also be called 
from that thread.

Felix



More information about the omniORB-list mailing list