mxFtp - Introduction and Copyright

mxFTP - an X11/MOTIF(tm) based FTP-tool (for Linux)
Copyright (C) 1997 Andy Jefferson

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 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Author:	Andy Jefferson			Analyst/Programmer
E-Mail: andy@ajsoft.demon.co.uk		AJ Soft Limited,
URL   : http://www.ajsoft.demon.co.uk	4 Southwood Street,
Phone : +44 (0)1332 601114		Derby DE24 8TY
					United Kingdom

Description

mxFtp simply provides a wraparound to the 'FTP' process. It displays the
'local' and 'remote' filesystems and allows the 'ftp'ing of files between these
2 systems. This is equivalent to the 'get' and 'put' FTP commands.

The panel provides a login area allowing specification of the FTP site, together
with the user name and password. These default to 'anonymous' and
'user@organisation.com'.

Messages given by the FTP process are typically written to the 'Message Area' at
the foot of the panel. The user can select the 'transfer method' by selecting
either 'Ascii' or 'Binary'.

Thta is really all there is to it !

Setup

Allows configuration of numerous mxFtp (and other 'mx' application)
parameters. The parameters that are configurable for mxFtp are :-

File Display Control
                This allows ths user to specify what details of the 'local'
                and 'remote' files are shown. Can be used to just display say
		the size of files, or the dates maybe.

Default Local Directory
		This is the directory that the 'local' file system display will
		start at - so if you always FTP to the same local directory then
		this can be used to set it to that.

Default Remote Directory
		This is the directory that the 'remote' file system display will
		start at - so if you always FTP from the same remote directory
		then this can be used to set it to that.

'ftp' Binary Filename
		This is the fully-specified name of the 'ftp' binary. If
		'ftp' is stored in /bin then this is '/bin/ftp'

mxFtp Help

Invokes the help viewer displaying this file.

About mxFTP

mxFTP is a program written for Linux using X11R6/Motif2.0.
It is designed as an X/Motif window-based interface to FTP.

Source Code comments

To build mxFTP, you require

1. Motif 2.0 (or later) 	since it uses widgets from Ver 2.0 
				(Notebook, Container etc)
2. X11R6			Will probably work with X11R5 though.
3. C++ compiler 		I used g++/gcc ver 2.7.2
4. Memory			Small !!
5. Binary format		Provided binary is ELF.
6. Make				Makefile is set up for a system with X11R6 in
				a SEPARATE directory to Motif2.0 - strange why
				the Motif people insist in dumping libs in X's
				directory, and hence mixing up 'packages'.
				Shouldn't need much to adapt it to any setup.

The various classes that make up mxFTP are 'loosely' based on the
Model-View-Controller(MVC) architecture. Typically, in mxFTP, the View and
Controller together form a class, and the Model is the data that they are
representing. The only real difference is that the View's are NOT registered
with the model's and providing the model's with the control to update their
own views (the View/Controller objects update the Model and their OWN view
instead).

The classes are :-

mxSetup			- Setup class for mxFTP (and other mx applications).
			  Stores setup parameters. Provides read/write methods
			  for extracting setup data from files.

mxSetupModify		- Modification facility for mxSetup parameters.

mxFTP			- Main window class for mxFTP. Controls the FTP process
			  via an akProcess object.

mxFTPMonitor		- Class to provide a transfer status monitor window
			  for 'get' commands.

mxDirView		- Class to provide the directory browser. Operates from
			  the output from 'ls -alF'.

mxFTPApp		- Application class for mxFTP. Creates a global
			  mxSetup object.