DCERouter

From LinuxMCE
Revision as of 12:57, 13 July 2012 by Foxi352 (Talk | contribs) (Programmer's Guide)

(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search


DCERouter has no options or user interface, so there is no documentation for users -- only technical documentation.

DCERouter is the central piece of software. See LinuxMCE 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 on another computer that is connected by an Ethernet connection.

A DCE Device can also be run in the DCE Router's memory space. These devices are called plug-ins, but they are identical to other DCE Devices. In fact, all DCE Devices come with 2 projects/Makefiles -- one to run as a normal, external DCE Device, and one to run as a plug-in. Running as a plug-in is more dangerous since it is in the same memory space and can therefore crash the whole router, potentially bringing the whole LinuxMCE system down. Therefore it is encouraged to run devices as plug-ins only when necessary, such as when the device needs to be able to intercept messages that may not be directed to it.

Since all 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.

Programmer's Guide

Router, v.2.0.0.44.0709022200
Usage: Router [-i installation] [-d device] [-h hostname]
[-u username] [-p password] [-D database] [-P mysql port]
[-t tcp/ip port to listen on] [-f Base Path][-l Logger]
-h hostname  -- address or DNS of database host, default is `dcerouter`
-u username  -- username for database connection
-p password  -- password for database connection, default is `` (empty)
-D database  -- database name
-P port      -- port for database connection, default is 3306
-f base path -- device requests for files will be relative to this path
-l logger        -- where to put the log

Messages can be sent on the commandline to the DCERouter (and thereby to devices) using the MessageSend utility.

DCERouter listens on port 3450 per default. Recent 10.04 build also listen on ipv6, same port.