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).