=========================================================================== GNetXmlRpc server and client XMLRPC functionality using GLib/GNet Written by Dov Grobgeld Version 0.0.3 =========================================================================== BACKGROUND I built this library for a scientific gtk display application in which I am generating date in one process, and would like to display it in another process. Through this library, whenever the data is ready for display, I can easily send it to the display program. For this application it was enough to support one string in and one string out subset of the full XMLRPC application. If someone is interested it would be easy to add a parallell callback functionality for the full XML data. I doubt that I will get around to doing it though. See the two example programs test-xml-server and test-xml-client for examples how to use this library. =========================================================================== TODO - Ideally, GnetXmlRpcClient would be built on top of GConnHttp and GnetXMLRcpServer would be built on top of a still-to-write GServerHttp (= provide asynchronous client functionality, HTTP authentication would then be handled by GServerHttp) - XML escaping/unescaping should be done using GLib's g_markup_* family of functions. - XML parsing should be done using GMarkupParser (any non-UTF8 input would need to be converted to UTF8 first). - Support other types than just strings / add full xml parameter support - By default block connections from servers other than localhost (IP filter) - Add option to accept connections from a wild card of servers. - When registering commands, check if they already exist and free the corresponding resources. - When destroying a server, destroy the command table hash. - Better error handling. - Make it part of GNet? (needs all of the above fixed + a decent API) =========================================================================== FURTHER INFORMATION http://www.xmlrpc.com/ http://www.gnetlibrary.org/ ===========================================================================