Socket/Plug question
Lukasz Stanislawski <[email protected]>
| Newsgroups | gmane.comp.gnome.accessibility.general |
|---|---|
| Message-ID | <[email protected]> |
Hello everyone. I'm currently implementing AT-SPI2 support for EFL library (Enlightenment Foundation Libraries). First, I will explain how my toolkit is implementing a particular feature that I have trouble with. It's called plug/socket mechanism and allows to share images across multiple processes. A typical usage of this feature goes like this: 1. Process A creates UI's objects and renders them into an buffer. 2. Process B via socket connection read's proccess A buffer and displays it as an image. 3. Process B forwards mouse/key events (if needed) to process A, allowing process A to change its UI accordingly. 4. Updated buffer is readed again by process B and image is refreshed. Since embeded UI looks like normally created one and can be interacted with with mouse and keyboard - my first idea was to connect two accessibility trees from process A and process B. It generally works, however there are some issues: 1. EFL socket/plug allows one-to-many connections. As far as I understand atspi Socket/Plug allows only one-to-one connections. The main problem is what a call like GetParent should return when process A UI's is embeded by multiple applications? How to solve it in atspi way? 2. How do You deal with returning proper window/screen coordinates of embeded UI's?