101 lines
2.6 KiB
C
101 lines
2.6 KiB
C
|
/*
|
||
|
* SPINNER.H
|
||
|
*
|
||
|
* Header file for ArchiveLib 1.0
|
||
|
*
|
||
|
* Copyright (c) 1994 Greenleaf Software, Inc.
|
||
|
* All Rights Reserved
|
||
|
*
|
||
|
* DESCRIPTION
|
||
|
*
|
||
|
* This header file contains the class definition for the ALMonitor
|
||
|
* derived object ALSpinner.
|
||
|
*
|
||
|
* CLASS DEFINITIONS:
|
||
|
*
|
||
|
* ALSpinner
|
||
|
*
|
||
|
* REVISION HISTORY
|
||
|
*
|
||
|
* May 26, 1994 1.0A : First release
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef _SPINNER_H
|
||
|
#define _SPINNER_H
|
||
|
|
||
|
#include "arclib.h"
|
||
|
|
||
|
#if defined( __cplusplus )
|
||
|
|
||
|
/*
|
||
|
* class ALSpinner : public ALMonitor
|
||
|
*
|
||
|
* DESCRIPTION
|
||
|
*
|
||
|
* ALSpinner is a very simple monitor class, and is only useful under
|
||
|
* DOS, not Windows. All ALSpinner does is spin a little propellor
|
||
|
* around while the file is being processed. This lets you know
|
||
|
* that something is happening in an otherwise boring process.
|
||
|
*
|
||
|
* DATA MEMBERS
|
||
|
*
|
||
|
* miSpinIndex : A Static variable that keeps track of which
|
||
|
* position the propellor should be in. The
|
||
|
* propellor travels through one of four different
|
||
|
* positions.
|
||
|
*
|
||
|
* mrStream : A reference to the stream that the propellor is
|
||
|
* going to be written on.
|
||
|
*
|
||
|
* MEMBER FUNCTIONS
|
||
|
*
|
||
|
* ALSpinner() : The one and only constructor.
|
||
|
* ~ALSpinner() : The virtual destructor.
|
||
|
* Progress() : The routine that gets called to make the
|
||
|
* propellor twitch.
|
||
|
* ArchiveOperation() : The routine that gets called when archiving
|
||
|
* starts, stops, etc.
|
||
|
*
|
||
|
* REVISION HISTORY
|
||
|
*
|
||
|
* May 26, 1994 1.0A : First release
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
class AL_CLASS_TYPE ALSpinner : public ALMonitor {
|
||
|
/*
|
||
|
* Constructors, destructors, and friend classes
|
||
|
*/
|
||
|
public :
|
||
|
AL_PROTO ALSpinner( ALMonitorType monitor_type,
|
||
|
ostream& stream = cout );
|
||
|
virtual AL_PROTO ~ALSpinner();
|
||
|
/*
|
||
|
* The copy constructor and assignment operator do not exist.
|
||
|
*/
|
||
|
protected :
|
||
|
ALSpinner( const ALSpinner& );
|
||
|
ALSpinner& operator=( const ALSpinner& );
|
||
|
/*
|
||
|
* Member functions
|
||
|
*/
|
||
|
protected :
|
||
|
virtual void AL_PROTO Progress( long mlObjectSoFar, ALStorage& object );
|
||
|
virtual void AL_PROTO ArchiveOperation( ALArchiveOperation operation,
|
||
|
ALArchiveBase *archive,
|
||
|
ALEntry *job );
|
||
|
/*
|
||
|
* Data Members
|
||
|
*/
|
||
|
protected :
|
||
|
static int miSpinIndex;
|
||
|
ostream& mrStream;
|
||
|
public :
|
||
|
AL_CLASS_TAG( _ALSpinnerTag );
|
||
|
};
|
||
|
|
||
|
#endif /* #if defined( __cplusplus ) */
|
||
|
|
||
|
#endif /* #ifdef SPINNER_H */
|