Mercurial > 510ConnectbotMonitor
changeset 1:f12df02aa228
add docs
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Mon, 05 May 2014 14:37:11 -0700 |
parents | 5564580fe160 |
children | f6a1aabf384f |
files | AndroidManifest.xml Makefile xml/510connectbotmonitor.in xml/Makefile xml/header.sgml xml/header.xml |
diffstat | 6 files changed, 215 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/AndroidManifest.xml Mon May 05 13:37:31 2014 -0700 +++ b/AndroidManifest.xml Mon May 05 14:37:11 2014 -0700 @@ -2,7 +2,7 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.five_ten_sg.connectbot.monitor" android:versionCode="1" - android:versionName="1.0" > + android:versionName="1.0.0-1" > <uses-sdk android:minSdkVersion="8"
--- a/Makefile Mon May 05 13:37:31 2014 -0700 +++ b/Makefile Mon May 05 14:37:11 2014 -0700 @@ -56,4 +56,5 @@ $(shell find . -iname *.java | grep -v /gen/) docs: - doxygen + (cd xml; make) +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/510connectbotmonitor.in Mon May 05 14:37:11 2014 -0700 @@ -0,0 +1,195 @@ +<reference> + <title>@PACKAGE@ - Version @VERSION@</title> + <partintro> + <title>Packages</title> + + <para>The various source and binary packages are available at <ulink + url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>. + The most recent documentation is available at <ulink + url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>. + </para> + + <para>A <ulink + url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source + code repository for this project is available at <ulink + url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>. + </para> + + </partintro> + + <refentry id="x@PACKAGE@.1"> + <refentryinfo> + <date>2014-04-18</date> + <author> + <firstname>Carl</firstname> + <surname>Byington</surname> + <affiliation><orgname>510 Software Group</orgname></affiliation> + </author> + </refentryinfo> + + <refmeta> + <refentrytitle>@PACKAGE@</refentrytitle> + <manvolnum>1</manvolnum> + <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo> + </refmeta> + + <refnamediv id='name.1'> + <refname>@PACKAGE@</refname> + <refpurpose>a monitoring package for the android terminal emulator</refpurpose> + </refnamediv> + + <refsect1 id='build.1'> + <title>Build method</title> + <para> + This is an android project with no native code, so + "android update project -p . -t android-16; ant debug" + should build cleanly. + </para> + </refsect1> + + <refsect1 id='introduction.1'> + <title>Introduction</title> + <para> + This is a stub monitoring application for the related + 510 Connectbot android terminal emulator package. + </para> + </refsect1> + + <refsect1 id='monitor.1'> + <title>Terminal Monitor</title> + <para> + For every terminal session (local, telnet, ssh or other), the + terminal emulator also makes a connection to a terminal monitor + process, which can see keystrokes and screen contents, and can + inject characters to send to the host. + </para> + + <para> + The terminal monitor is invoked by calling an android Intent + named "com.five_ten_sg.connectbot.monitor.MonitorService". That + ensures that the monitor process is running, and should then + be listening on TCP port 6000 for incoming connections. The terminal + emulator then connects to the terminal monitor on port 6000. + The native android Intent and Service communication mechanisms + are not used. + </para> + + <para> + The messages exchanged between the terminal emulator and the + terminal monitor are arrays of uint16 values in network byte + order. Each message starts with a uint16 message byte length, + followed by that many bytes of data. Note that the message length + will always be even. The next uint16 contains the message + command value, and the remaining uint16 values are the arguments + if any for that command. + </para> + + <para> + Any arguments that are keystrokes or characters are represented + as 16 bit unicode. Note that the first 256 such characters are + identical to the ISO-8859-1 latin character set. + </para> + + <para> + INIT = 0 (TE -> Monitor). The argument is a string of uint16 + characters. The meaning of these characters is defined by the + monitor. It might be a fully qualified path name, or some other + data used by the monitor to drive the monitoring of this + connection. + </para> + + <para> + ACTIVATE = 1 (TE -> Monitor). The first argument is the + number of lines. The second argument is the number of columns. + That is followed by lines*columns uint16 character codes. + This connection is now the active connection. It is the + topmost (or only) window visible to the user - typed keystrokes + will be sent to the host on the other end of this connection. + </para> + + <para> + HOSTDATA = 2 (TE -> Monitor). The argument is a single uint16 + value containing the 8 bit character that was sent to the host. + </para> + + <para> + CURSORMOVE = 3 (TE -> Monitor). + The first argument is the line number (0..23) + and the second argument is the column number (0..79). + </para> + + <para> + SCREENCHANGE = 4 (TE -> Monitor). The first argument is the + number of lines. The second argument is the number of columns. + That is followed by lines*columns uint16 character codes. + </para> + + <para> + FIELDVALUE = 5 (TE -> Monitor). + SETFIELD = 5 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the column number (0..79). + That is followed by the field value, a sequence of uint16 + character codes from the screen buffer. The field + covers N columns, where N = (message length - 4) / 2. + When sent from the monitor to the emulator, this causes + the emulator to send the field codes to the host. This is + also used as the reply message from the emulator to the + monitor for a previous GETFIELD from the monitor. + </para> + + <para> + GETFIELD = 6 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the starting column number (0..79), + and the third argument is the field length in columns. + This command causes the emulator to send a FIELDVALUE message + back to the monitor. + </para> + + <para> + SCREENWATCH = 7 (Monitor -> TE). + The first argument is the line number (0..23) + and the second argument is the starting column number (0..79), + and the third argument is the field length in columns. + This command causes the emulator to watch the specified + part of the screen for changes. When that part of the screen + changes, the emulator will send a SCREENCHANGE message back + to the monitor. + </para> + </refsect1> + + <refsect1 id='todo.1'> + <title>TODO</title> + <para> + Nothing. + </para> + </refsect1> + + <refsect1 id='copyright.1'> + <title>Copyright</title> + <para> + Copyright (C) 2014 by 510 Software Group <carl@five-ten-sg.com> + </para> + <para> + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation; either version 3, or (at your option) any + later version. + </para> + <para> + You should have received a copy of the GNU General Public License along + with this program; see the file COPYING. If not, please write to the + Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + </para> + </refsect1> + + <refsect1 id='version.1'> + <title>Version</title> + <para> + @VERSION@ + </para> + </refsect1> + </refentry> + +</reference>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xml/Makefile Mon May 05 14:37:11 2014 -0700 @@ -0,0 +1,12 @@ +ver:=$(shell grep versionName ../AndroidManifest.xml | cut -d'"' -f2) +pkg:=510ConnectbotMonitor + +all: + sed -e 's/@PACKAGE@/$(pkg)/g' -e 's/@VERSION@/$(ver)/g' <510connectbotmonitor.in >510connectbotmonitor + cat header.xml 510connectbotmonitor >510connectbotmonitor.xml + cat header.sgml 510connectbotmonitor >510connectbotmonitor.sgml + rm -f ../html/*html + rm -f ../html/*pdf + xmlto -o ../html xhtml 510connectbotmonitor.xml + xmlto -o ../html pdf 510connectbotmonitor.xml + rm -f 510connectbotmonitor.xml 510connectbotmonitor.sgml