Google Summer of Code 2006, application accepted !
![]() |
+ |
![]() |
+ |
![]() |
My proposal for the Google Summer of Code 2006 has been accepted!
Name ---- Christophe 'CSCMEU' Nowicki Email ----- cscm at meuh dot dyndns dot org Project Title ============= Mozilla and D-BUS Integration Synopsis -------- The goal of this project is to allow Mozilla components to communicate through D-BUS ( www.freedesktop.org/wiki/Software/dbus ) in order to allow better integratation in the Linux Desktop. Benefits to the Mozilla Community --------------------------------- Better Integration of the Mozilla Suite Inside the Linux Desktop: - possiblity to send and recive messages through D-BUS from Mozilla components via XPCOM objects. - possiblity to use existants projects like: - Avahi ( avahi.org ) for Zeroconf support, - Beagle ( beaglewiki.org ) the query directly beagle from the Mozilla Search Bar - Other, see list of software supporting D-BUS : www.freedesktop.org/wiki/Software_2fDbusProjects - possiblity to provide Mozilla services via D-BUS. Deliverables ------------ - source code of the XPCOM compents under the MPL license - documentation of the API - sample extension using the XPCOM implementation Project Details --------------- XPCOM Component ~~~~~~~~~~~~~~~ The first step of the project is to allow Mozilla components to make D-BUS call : var DBUS = new Components.Constructor('@mozilla.org/dbus;1', 'nsIDBUS') var dbus = new DBUS() var bus = dbus.SystemBus() var dbus_obj = bus.get_object('org.freedesktop.DBus', '/org/freedesktop/DBus') var dbus_iface = dbus.Interface(dbus_obj, 'org.freedesktop.DBus') dump( dbus_iface.ListNames() ) My API will be inspired by the Python D-BUS API. Javascript Events ~~~~~~~~~~~~~~~~~ The second step would by to integrate D-BUS inside the Java Script event loop. Difficulties ~~~~~~~~~~~~ The technical difficulties of the project are : - the type mapping between the D-BUS API and Mozilla - memory management, in order to avoid memory leaks - manage DBUS communication channels between componants instances. The cons against this project are : - D-BUS is not working (yet) on Microsoft Windows (comming soon) Project Schedule ================ The project is sized for one person and should be finished at the end of Summer Of Code. I estimate the working time like that: - write specifications of the project ( 10 days ) - analyse the mozilla architecture / source code to plugin the feature nicely ( 10 days ) - write the XPCOM components ( 15 days ) - write the documentation ( 5 days ) - write sample application ( 5 days ) - debug and integrate the components in the Mozilla source tree, code review, etc ( 10 days ) Total estimate : 55 days witch is more or less 3 working month. Bio === I'am a French student in computer science from EPITECH ( www.epitech.net ) involved in the free and opensource mouvement: - as an Debian 'Power User' : reporting bug, making packages, writing documentation and helping users on forums - as an Developper of the FANI project ( www.fani-project.org ), it's an multi operating systems network installer writen in XUL and Python. - as an half-time engineer and developper working for Easter-eggs ( www.easter-eggs.com ), an opensource services company involved in free software developpement ( see our projects on labs.libre-entreprise.org ). My curriculum-vitae is available on my blog: www.csquad.org/curriculum-vitae Best Regards,
A great use of the dbus binding for mozilla would be to set the proxies settings within mozilla from the desktop (let’s say when connecting to a vpn which has proxy, and deconnecting when you don’t need proxy anymore).