1
base --- core source code for XMLterm and LineTerm
3
XMLterm may be invoked in one of two ways:
4
1. By loading "-chrome chrome://xmlterm/content/xmlterm.xul" in mozilla, or
5
2. By running the stand-alone executable "../geckoterm/xmlterm".
6
The diagram below shows the control-flow/layering hierarchy for both ways
9
XMLterm control-flow/layering hierarchy
10
=======================================
12
mozilla-executable geckoterm-executable
14
../ui/content/xmlterm.xul |
16
../ui/content/xmlterm.html ../ui/content/xmlterm.html
18
mozXMLTermShell ../geckoterm/mozGeckoTerm
20
+--------------+---------------+ |
24
+-------------------+--------------------+
26
mozXMLTermSession mozLineTermAux mozXMLTermListeners
29
(rendering...) (LineTerm) (user input)
34
============================================================================
37
The core source code for XMLterm in this directory consists of two distinct
38
families of files, those with names that begin with the prefix "moz" and all
39
the other files. The former are the Mozilla-specific portions of XMLterm,
40
written in C++. The remaining files constitute the Mozilla-independent portion
41
of XMLterm, referred to as "LineTerm".
43
============================================================================
46
LineTerm is a line-oriented terminal program, in some respects similar in
47
functionality to the GNU Readline package. It is completely independent of the
48
Mozilla source code, is written in plain C, and dually licensed under GPL and
51
============================================================================
54
lineterm.h Plain C interface to LineTerm
57
mozILineTerm.idl Scriptable XPCOM/XPCONNECT interface to LineTerm
58
(not used at the moment)
60
mozILineTermAux.h XPCOM interface to LineTerm, with extra features
61
(used by mozXMLTerminal)
63
mozIXMLTermShell.h Scriptable XPCOM/XPCONNECT interface to XMLterm
64
(used by the Javascript glue code in the XMLterm
65
start page at ../ui/content/xmlterm.html)
67
mozIXMLTerminal.h XPCOM interface to XMLterm
68
(used by mozXMLTermShell, ../geckoterm/mozGeckoterm)
70
mozIXMLTermStream.h XPCOM interface for displaying HTML/XML streams in
71
IFRAMES (used by mozXMLTermSession)
78
mozLineTermcpp Implementation of mozILineTerm, mozILineTermAux
79
Uses LineTerm to access shell
82
mozXMLTermShell.cpp Implementation of mozIXMLTermShell
83
Uses mozIXMLTerminal to create XMLterm
86
mozXMLTerminal.cpp Implementation of mozIXMLTerminal,
87
nsIWebProgressListener, and
89
Uses mozILineTermAux to create LineTerm
90
Uses mozXMLTermListeners to capture user input
91
Uses mozXMLTermSession to display input/output
94
mozXMLTermListeners.cpp Implementations of nsIDOMKeyListener,
100
mozXMLTermStreamcpp Implementation of mozIXMLTermStream
106
mozXMLTermSession.h/cpp Class to manage session input/output display
107
(used by mozXMLTerminal)
108
Uses mozIXMLTermStream to display streams
110
mozXMLTermUtils.h/cpp Abstract class for static utility functions
111
(for use by all classes)
113
============================================================================
114
The following are dually licensed under MPL and GPL:
118
lineterm.h Public interface to LineTerm
120
ltermPrivate.h Private common header file
122
ltermManager.c LineTerm manager
123
ltermIO.c Overlapping I/O functions
124
ltermInput.c Input handler
125
ltermOutput.c Output handler
126
ltermEscape.c Escape sequence handler
131
ptystream.c Stream-like interface to Unix pseudo-TTY
134
tracelog.c Simple tracing/logging diagnostic library
137
unistring.c Simple Unicode manipulation library
139
============================================================================