Proxy Orbiter

From LinuxMCE
Revision as of 12:31, 11 July 2011 by Uplink (Talk | contribs) (Proxy_Orbiter protocol)

Jump to: navigation, search


Description

Proxy_Orbiter is built from the 'guts' of the full Orbiter you see on MD's but in this case it's a UI'less piece of software that runs on the Core and its job is to render the UI for the Touch Orbiter that is running remotely on the target device. Each Touch Orbiter has an associated instance of Proxy_Orbiter and the two work in partnership. Proxy_Orbiters do all the 'heavy lifting' of rendering the UI and interacting with the rest of the underlying system and this allows the remote device that is running the Touch Orbiter to be a much less powerful and very simple device indeed if needed.

Commands

The following commands are for direct socket communication to the Proxy_Orbiter.

All command replies start with a reply message followed by \n followed by an optional body of data.

Syntax Reply on success Description
IMAGE IMAGE <size>
<image data>
Ask the Proxy_Orbiter to give us the image of the current screen. size is the size of the image data in bytes. image data is the actual unaltered image data, in binary form. There's no indication of the image format (which can be PNG or JPEG) and this must be inferred by other means.
XML XML <size>
<xml_data>
Retrieve the XML data for the Cisco 7970.
PLUTO_KEY <Key_ID> OK Used by the Web Orbiter and Cisco 7970 Orbiter in association with programmable soft keys.
TOUCH <X>x<Y> OK Notify the Proxy_Orbiter about a touch. X and Y are the coordinates of the touch. There's a literal x between X and Y.
ANYNEWS? NEWS <size>
<answer>
Ask the Proxy_Orbiter if there are any updates. The answer is either yes or no. Data size includes the LF line separator that follows the answer. If the answer is yes, the Touch Orbiter should refresh its screen as its own copy is out of date. The Touch Orbiter/Web Orbiter calls ANYNEWS? periodically (typically once every second).
SCREEN_XML SCREEN_XML <size>
<xml_data>
Request the current screen structure in XML format.
DATAGRID_XML <GridID> DATAGRID_XML <size>
<xml_data>
Request the data for Datagrid GridID. This command should be used only for grid objects described in the data returned by SCREEN_XML, as otherwise it's very likely the grid data is invalid and you'll receive and ERROR message.
DATAGRID_TOUCH <GridID> <Row> <Column> OK Similar to TOUCH, but for datagrids. Touch Orbiter/Web Orbiter sends this message when a datagrid cell in the Enhanced UI is activated.

In case of ERROR, the ERROR\n message is returned instead of the reply described above for any command.

All commands must be followed by the \n (LF) character (UNIX style EOL). DOS style EOL (\r\n) won't work. All text parts of the replies (including the first line) are followed by LF.