зеркало из https://github.com/mozilla/gecko-dev.git
128 строки
5.0 KiB
Plaintext
128 строки
5.0 KiB
Plaintext
|
base --- core source code for XMLterm and LineTerm
|
||
|
|
||
|
XMLterm control-flow/layering hierarchy
|
||
|
=======================================
|
||
|
|
||
|
mozilla-executable xmlterm-executable
|
||
|
| |
|
||
|
../ui/content/xmlterm.html |
|
||
|
| |
|
||
|
mozXMLTermShell ../geckoterm/mozGeckoTerm
|
||
|
| | |
|
||
|
+--------------+---------------+ |
|
||
|
| mozSimpleContainer
|
||
|
mozXMLTerminal
|
||
|
|
|
||
|
+-------------------+--------------------+
|
||
|
| | |
|
||
|
mozXMLTermSession mozLineTermAux mozXMLTermListeners
|
||
|
| | |
|
||
|
| | |
|
||
|
mozXMLTermStream... (LineTerm) (user input)
|
||
|
(rendering ...) (pseudo-TTY/shell)
|
||
|
|
||
|
|
||
|
XMLterm may be invoked one of two ways:
|
||
|
1. By loading the URL chrome://xmlterm/content/xmlterm.html in mozilla, or
|
||
|
2. By running the stand-alone executable "../geckoterm/xmlterm".
|
||
|
The diagram above shows the control-flow/layering hierarchy for both ways
|
||
|
of invoking XMLterm.
|
||
|
|
||
|
28 Nov 1999
|
||
|
===========================================================================
|
||
|
FILES:
|
||
|
|
||
|
The core source code for XMLterm in this directory consists of two distinct
|
||
|
families of files, those with names that begin with the prefix "moz" and all
|
||
|
the other files. The former are the Mozilla-specific portions of XMLterm,
|
||
|
written in C++. The remaining files constitute the Mozilla-independent portion
|
||
|
of XMLterm, referred to as "LineTerm".
|
||
|
|
||
|
============================================================================
|
||
|
LINETERM:
|
||
|
|
||
|
LineTerm is a line-oriented terminal program, in some respects similar in
|
||
|
functionality to the GNU Readline package. It is completely independent of the
|
||
|
Mozilla source code, is written in plain C, and dually licensed under GPL and
|
||
|
MPL.
|
||
|
|
||
|
============================================================================
|
||
|
INTERFACES:
|
||
|
|
||
|
lineterm.h Plain C interface to LineTerm
|
||
|
(used by mozLineTerm)
|
||
|
|
||
|
mozILineTerm.idl Scriptable XPCOM/XPCONNECT interface to LineTerm
|
||
|
(not used at the moment)
|
||
|
|
||
|
mozILineTermAux.h XPCOM interface to LineTerm, with extra features
|
||
|
(used by mozXMLTerminal)
|
||
|
|
||
|
mozIXMLTermShell.h Scriptable XPCOM/XPCONNECT interface to XMLterm
|
||
|
(used by the Javascript glue code in the XMLterm
|
||
|
start page at ../ui/content/xmlterm.html)
|
||
|
|
||
|
mozIXMLTerminal.h XPCOM interface to XMLterm
|
||
|
(used by mozXMLTermShell, ../geckoterm/mozGeckoterm)
|
||
|
|
||
|
mozIXMLTermStream.h XPCOM interface for displaying HTML/XML streams in
|
||
|
IFRAMES (used by mozXMLTermSession)
|
||
|
|
||
|
|
||
|
IMPLEMENTATIONS:
|
||
|
|
||
|
|
||
|
mozLineTerm.h/cpp Implementation of mozILineTerm, mozILineTermAux
|
||
|
Uses LineTerm to access shell
|
||
|
|
||
|
mozXMLTermShell.h/cpp Implementation of mozIXMLTermShell
|
||
|
Uses mozIXMLTerminal to create XMLterm
|
||
|
|
||
|
mozXMLTerminal.h/cpp Implementation of mozIXMLTerminal,
|
||
|
nsIDocumentLoaderObserver, and
|
||
|
nsIObserver
|
||
|
Uses mozILineTermAux to create LineTerm
|
||
|
Uses mozXMLTermListeners to capture user input
|
||
|
Uses mozXMLTermSession to display input/output
|
||
|
|
||
|
mozXMLTermListeners.h/cpp Implementations of nsIDOMKeyListener,
|
||
|
nsIDOMTextListener,
|
||
|
nsIDOMMouseListener,
|
||
|
nsIDOMDragListener
|
||
|
|
||
|
mozXMLTermStream.h/cpp Implementation of mozIXMLTermStream
|
||
|
|
||
|
|
||
|
CLASSES:
|
||
|
|
||
|
|
||
|
mozXMLTermSession.h/cpp Class to manage session input/output display
|
||
|
(used by mozXMLTerminal)
|
||
|
Uses mozIXMLTermStream to display streams
|
||
|
|
||
|
mozXMLTermUtils.h/cpp Abstract class for static utility functions
|
||
|
(for use by all classes)
|
||
|
|
||
|
============================================================================
|
||
|
The following are dually licensed under MPL and GPL:
|
||
|
|
||
|
LineTerm package:
|
||
|
|
||
|
lineterm.h Public interface to LineTerm
|
||
|
|
||
|
ltermPrivate.h Private common header file
|
||
|
|
||
|
ltermManager.c LineTerm manager
|
||
|
ltermIO.c Overlapping I/O functions
|
||
|
ltermInput.c Input handler
|
||
|
ltermOutput.c Output handler
|
||
|
ltermEscape.c Escape sequence handler
|
||
|
|
||
|
Low-level packages:
|
||
|
|
||
|
ptystream.h/c Stream-like interface to Unix pseudo-TTY
|
||
|
tracelog.h/c Simple tracing/logging diagnostic library
|
||
|
unistring.h/c Simple Unicode manipulation library
|
||
|
|
||
|
============================================================================
|