GPII/universal — pull request #246 by javihernandez (2014-05-05 21:39:46+00:00)
Title: GPII-413: Add a dynamic Device Reporter 

Related literature about this can be found [here]: http://issues.gpii.net/browse/GPII-413
This can be tested with [this personal branch]: https://github.com/javihernandez/linux/tree/device-reporter-draft-2

The implementation follows a similar approach to how the settingsHandlers work.
Here you can see how a solution entry should be written in order to call to a deviceReporter plugin.

{
"name": "ORCA Screen Reader",
"id": "org.gnome.orca",
"contexts": {
"OS": [{
"id": "linux",
"version": ">=2.6.26"
}],
"deviceReporters": [
{
"type": "gpii.packageKit.find",
"name": "orca"
}
]
}

For this first example I have used the packageKit module for GNU/Linux but we could create a few common deviceReporter plugins such as:
* A DR plugin that could look for a file in the filesystem, ie, look for /usr/opt/bin/google-chrome
* A DR plugin that could check if a process is running on the system, ie: firefox

Inspired by [this]: http://stackoverflow.com/a/1458550 , and as a replacement for the Linux' packageKit module in Windows, a node module can be built in order to poke the Windows registry for installed solutions.

Any testing/feedback will be awesome :)
Cheers!