On Sat, Nov 22, 2008 at 09:14:57AM +0200, Igor Stasenko wrote:
I'm currently trying to make a HostWindowsPlugin and want to put all windowing and i/o stuff in it from VM platform sources. It would be much a cut'n'paste experience to me, if all callouts in VM would use atoms - because then i don't need to touch headers & sources and many different places to make compiler content. Because there would be no need in exporting function in C-like manner.
I don't see how changing the interface to plugins helps with this problem. Any way you look at it, you have to reorganize the current one-window implementation in the platform support code as well as in the plugin. Changing the way you call plugins or obtain function addresses does not make that problem any easier. It seems to me that it adds a layer of complexity without helping to solve the problem at hand.
Actually the idea to use it came to my mind after reading this: http://tronche.com/gui/x/icccm/sec-1.html#s-1 . They calling it inter-client communications :)
There are a lot of good ideas you can borrow from X11, but complexity of implemention is not one of them.
Dave
p.s. To quote from Wikipedia: "The ICCCM is notorious for being ambiguous and difficult to correctly implement".