DCERouter
This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto. |
DCERouter has no options or user interface, so there is no documentation for users--only technical documentation.
DCERouter is the central piece of software that all Pluto DCE Devices for documentation on the DCE socket-based messaging protocol.
Normally DCE Devices run separately from the router. Since they communicate over a socket, they can be on the same computer, or another computer with an internet connection. A DCE Device can also be run in the DCE Router's memory space. These devices are called plug-ins. However, they are really identical to the other DCE Devices. In fact, all DCE Devices come with 2 projects/Makefiles--1 to run as a normal, external DCE Device, and 1 to run as a plug-in. Of course, running as a plug-in is much more dangerous since it is in the same memory space and can therefore crash the whole router, and bring the whole LinuxMCE system down. Therefore it is encourages to run devices as plug-ins only when necessary because the device needs to be able to intercept messages that may not be directed to it. Since all the plug-ins run in the same memory space, they have access to the actual class pointers for the other plug-ins, and can therefore efficiently share data and call each other's functions. To make your DCE Device a plug-in, just check the "Is Plug-in" box when defining the device in the "Device Template" section of the configuration web site. Then compile it using the DLL-version of the project under Windows, or the so (for shared object) switch on the Makefile under Linux.