[omniORB] how to integrate omniORB with Qt 4.x?

renny.koshy at rubixinfotech.com renny.koshy at rubixinfotech.com
Fri Feb 8 12:57:28 GMT 2008


Liang:

We have a similar situation with a third-party lib.... what we do is as
follows:

1. Setup a pipe 'ToWorker'

2. Add the 'ToWorker' pipe to our third party library's processing loop (in
Qt, I would presume that you can create a SocketReactor or something)... in
our case, we add it as a "SocketReactor", with the handle = ToWorker's
"read" end.

3. All CORBA services we expose are "interfaces" only.  They get the
request, fill in a "work-request" structure, set a semaphore (inside the
work-request), then write the work-request pointer to the ToWorkerFIFO, and
wait.

4. When the ToWorker's read-end gets the data, it will initiate our reactor
object, which does the work, and then flags the semaphore... which wakes up
the CORBA thread that was waiting.

5. The thread wakes up, and continues... and since results are stored in
the work request, it can respond back to the 'caller'

Renny Koshy
President & CEO

--------------------------------------------
RUBIX Information Technologies, Inc.
www.rubixinfotech.com


                                                                           
             Duncan Grisby                                                 
             <duncan at grisby.or                                             
             g>                                                         To 
             Sent by:                  "Liang Qi" <cavendish.qi at gmail.com> 
             omniorb-list-boun                                          cc 
             ces at omniorb-suppo         omniorb-list at omniorb-support.com    
             rt.com                                                Subject 
                                       Re: [omniORB] how to integrate      
                                       omniORB with Qt 4.x?                
             02/08/2008 12:29                                              
             PM                                                            
                                                                           
                                                                           
                                                                           
                                                                           




On Thursday 7 February, "Liang Qi" wrote:

> I just began to try to integrate omniORB with Qt 4.x. I found there
> are some integrations in mico 2.3.12, for fltk, gtk, qt, tcl, x11 etc.
>
> There is CORBA::Dispatcher in mico.
>
> But where is the similar event dispatch mechanism in omniORB?  Thanks a
lot.

omniORB doesn't have an application-hookable event loop like Mico. it
always uses its own threads to dispatch CORBA calls. You can just use
the main thread to service Qt's event loop and it will work fine.

Cheers,

Duncan.

--
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --

_______________________________________________
omniORB-list mailing list
omniORB-list at omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list





More information about the omniORB-list mailing list