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 &lt;carl@five-ten-sg.com&gt;
+            </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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/header.sgml	Mon May 05 14:37:11 2014 -0700
@@ -0,0 +1,1 @@
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/header.xml	Mon May 05 14:37:11 2014 -0700
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE reference PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+     "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
+