odeviced: progress report :P
So, presenting a preliminary skeleton service for odeviced that loads shared object libraries (or in other words plugins). Nothing to be proud of, but hey, something is better than nothing.
Here’s a screenshot of a very very preliminary odeviced in action..
Basically its just a dbus service that can load modules from a predefined location. Here’s how it works currently,
- Setup all the boring stuff like registering the object path and getting the connection to the DBus system bus. The interface used will be “org.freesmartphone.Device”.
- The service reads the configuration file at /etc/odeviced.conf whose contents are as follows,
# General configurations
[odeviced]
device_name=FreeRunner
[powercontrol]
enable=1 - So from the above configuration, the device name is set to FreeRunner and odeviced tries to load the powercontrol plugin since “enable” is set to 1. Of course, the dbus service exposes the load method to load plugins manually after the service has started if the need arises.
- The default directory for plugins is at ‘/usr/share/odeviced/plugins’. Maybe additional directories for other plugins can be set in odeviced.conf. By now odeviced tries to load the plugin libpowercontrol.so under ‘/usr/share/odeviced/plugins’.
- After successful loading of the plugin, odeviced executes the init function in the plugin which is of the form <plugin_name>_init. In our case it is powercontrol_init. The dbus paths for the plugins are to be set here. So we would have object paths such as “/org/freesmartphone/Device/plugins/powercontrol’. This is yet to be done.
- As evident in the above screenshot the powercontrol_init contains a single printf statement which merely spits out “In powercontrol”. And yes, the powercontrol plugin is written in good ol’ C.
Notice the gnome-terminal at the right. It is running a simple python helper script for testing odeviced. It simply reads from stdin and calls the `load’ method offered by the dbus service with the input as the argument. As you can see, powercontrol has been loaded successfully but “l” and “this_aint_a_plugin” gives a critical warning that these plugins couldn’t be found.
What needs to be done
- Make the code “beautiful”.
. I am constantly on the lookout for vala’ish ways of doing things. Still need to work on my OOP skills
. - Come up with a decent plugin for powercontrol.
- Put in some example apps or port the existing OM ones to use odeviced.
Filed under: FOSS and Linux, embedded, freesmartphone.org, gsoc, linux, neo1973, odeviced, openmoko | 4 Comments
Tags: freesmartphone, freesmartphone.org, fso, gsoc, linux, neo1973, odeviced, openmoko
Categories
Twitter Updates
- popcorn 1 day ago
- #roddick takes the first set.. #wimbledon 1 day ago
- oops.. mea culpa... it was a round of trick questions :P 2 days ago
- wtf... electricity was invented???! #mtvindia connect #fail 2 days ago
- Back from #drupal chennai meet.. @ubuntuslave talked about his #gsoc code. Netlink office was swankily modern.. :/ 2 days ago
Archives
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
Blogroll
Meta
Pages

Looks cool, just wondering where you got your style for ubuntu from. Would like to put it on my box
Bazzza
i got it from gnome-look. But forgot the exact theme. Its one of those highest ranked themes though..
Oh and its gentoo
Somehow i missed the point. Probably lost in translation
Anyway … nice blog to visit.
cheers, Juvenilia.