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.