Any interested developer can create a DCE device with the system, as all the tools are available.
You would need to choose either C++ or Ruby for your device code. Ruby is simpler, but C++ gives you complete control over the design of the device.
First, you need to define your device template. This specifies what the device is, where it should go in the device tree, what commands it can respond to, what events it can emit, device data it needs to function (this is variable, you create whatever parameters you need, baud rate, port, a place to store credentials, whatever..your code can read and/or set this block of info.), plug and play info (how to detect the device), what other devices this thing needs to function, and finally what additional orbiter screens this device will require (probably not used in your case)
This template is used by everything to determine what the device can do, and in the case of the C++ tools, it determines how to create the needed scaffolding code so you can fill in the blanks
As soon as you have a device template, please work with us on checking it into sqlCVS as soon as possible. The code can come later.
You can look at the VistaICM2 device template, for reference, and I suggest you do so.
For Ruby, you would enter the code as part of the device template itself.
For C++ You would need to:
* Check out a copy of http://svn.linuxmce.org/svn/branches/LinuxMCE-0810/src
* install the pluto-sql2cpp and pluto-dcegen packages via apt
* copy the contents of /usr/pluto/lib into src/lib
* go into src/DCEGen
* run /usr/pluto/bin/DCEGen -d <xxxx> where <xxxx> is your device template #
* go into src/sql2cpp
* run /usr/pluto/bin/sql2cpp to generate the necessary constants for your new device template.
* go to the web admin, and go to wizard > security, and create your new security device, reload router, get the device #
* go to src/Your_New_Device_Template (the path is a _ version of the device template name)
* look at it..edit it...compile it with make bin
* run it with ./Your_New_Device_Template -d xx (where xx is your DEVICE # in YOUR DEVICE TREE)
* test it
* go back to look at it...edit it...compile it...as many times as necessary.
Again, here I also suggest looking at the code in src/VistaICM2 for reference.
When you're ready, you can work with us on checking in the code.