зеркало из https://github.com/mozilla/pjs.git
140 строки
5.3 KiB
Plaintext
140 строки
5.3 KiB
Plaintext
base --- core source code for XMLterm and LineTerm
|
|
|
|
XMLterm may be invoked in one of two ways:
|
|
1. By loading "-chrome chrome://xmlterm/content/xmlterm.xul" in mozilla, or
|
|
2. By running the stand-alone executable "../geckoterm/xmlterm".
|
|
The diagram below shows the control-flow/layering hierarchy for both ways
|
|
of invoking XMLterm.
|
|
|
|
XMLterm control-flow/layering hierarchy
|
|
=======================================
|
|
|
|
mozilla-executable geckoterm-executable
|
|
| |
|
|
../ui/content/xmlterm.xul |
|
|
| |
|
|
../ui/content/xmlterm.html ../ui/content/xmlterm.html
|
|
| |
|
|
mozXMLTermShell ../geckoterm/mozGeckoTerm
|
|
| | |
|
|
+--------------+---------------+ |
|
|
| mozSimpleContainer
|
|
mozXMLTerminal
|
|
|
|
|
+-------------------+--------------------+
|
|
| | |
|
|
mozXMLTermSession mozLineTermAux mozXMLTermListeners
|
|
| | |
|
|
| | |
|
|
(rendering...) (LineTerm) (user input)
|
|
(pseudo-TTY/shell)
|
|
|
|
|
|
15 Mar 2000
|
|
============================================================================
|
|
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
|
|
mozLineTermcpp Implementation of mozILineTerm, mozILineTermAux
|
|
Uses LineTerm to access shell
|
|
|
|
mozXMLTermShell.h
|
|
mozXMLTermShell.cpp Implementation of mozIXMLTermShell
|
|
Uses mozIXMLTerminal to create XMLterm
|
|
|
|
mozXMLTerminal.h
|
|
mozXMLTerminal.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
|
|
mozXMLTermListeners.cpp Implementations of nsIDOMKeyListener,
|
|
nsIDOMTextListener,
|
|
nsIDOMMouseListener,
|
|
nsIDOMDragListener
|
|
|
|
mozXMLTermStream.h
|
|
mozXMLTermStreamcpp 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
|
|
ptystream.c Stream-like interface to Unix pseudo-TTY
|
|
|
|
tracelog.h
|
|
tracelog.c Simple tracing/logging diagnostic library
|
|
|
|
unistring.h
|
|
unistring.c Simple Unicode manipulation library
|
|
|
|
============================================================================
|