108 lines
2.8 KiB
C++
Executable File
108 lines
2.8 KiB
C++
Executable File
/*
|
|
* BARGRAPH.H
|
|
*
|
|
* Header file for ArchiveLib 1.0
|
|
*
|
|
* Copyright (c) 1994 Greenleaf Software, Inc.
|
|
* All Rights Reserved
|
|
*
|
|
* DESCRIPTION
|
|
*
|
|
* The class definition for ALBarGraph is found here.
|
|
*
|
|
* CLASS DEFINITIONS:
|
|
*
|
|
* class ALBarGraph
|
|
*
|
|
* REVISION HISTORY
|
|
*
|
|
* May 26, 1994 1.0A : First release
|
|
*
|
|
*/
|
|
|
|
#ifndef _BARGRAPH_H
|
|
#define _BARGRAPH_H
|
|
|
|
#include "arclib.h"
|
|
|
|
#if defined( __cplusplus )
|
|
|
|
/*
|
|
* class ALBarGraph : public ALMonitor
|
|
*
|
|
* DESCRIPTION
|
|
*
|
|
* This is a utility class. The constructor opens a file for input,
|
|
* and keeps track of whether it was already open or not. The destructor
|
|
* will automatically close the file if it was closed when the
|
|
* ctor was invoked.
|
|
*
|
|
* DATA MEMBERS
|
|
*
|
|
* miCurrentOffset : The current offset of the bargraph, in screen
|
|
* units. Usually the bar itself is 20 characters
|
|
* long, in which case this value will be somewhere
|
|
* between 0 and 19.
|
|
*
|
|
* miBarLength : The length of the bar, defined when the
|
|
* constructor is called. This is a const member,
|
|
* which means we can leave it public.
|
|
*
|
|
* mrStream : Reference to an output stream. This is the
|
|
* stream where the bargraph gets drawn.
|
|
*
|
|
* MEMBER FUNCTIONS
|
|
*
|
|
* ALBarGraph() : The constructor.
|
|
* ~ALBarGraph() : Virtual destructor.
|
|
* Progress() : The progress routine, where the bargraph
|
|
* gets updated.
|
|
* ArchiveOperation() : The routine that gets called when files
|
|
* are opened, closed, etc.
|
|
*
|
|
* REVISION HISTORY
|
|
*
|
|
* May 26, 1994 1.0A : First release
|
|
*
|
|
*/
|
|
|
|
class AL_CLASS_TYPE ALBarGraph : public ALMonitor {
|
|
/*
|
|
* Constructors, destructors, and friend classes
|
|
*/
|
|
public :
|
|
AL_PROTO ALBarGraph( ALMonitorType monitor_type,
|
|
ostream& stream = cout,
|
|
int bar_length = 25 );
|
|
virtual AL_PROTO ~ALBarGraph();
|
|
/*
|
|
* The copy constructor and assignment operator do not exist.
|
|
*/
|
|
protected :
|
|
ALBarGraph( const ALBarGraph& );
|
|
ALBarGraph& operator=( const ALBarGraph& );
|
|
/*
|
|
* Member functions
|
|
*/
|
|
protected :
|
|
virtual void AL_PROTO Progress( long object_so_far,
|
|
ALStorage& object );
|
|
virtual void AL_PROTO
|
|
ArchiveOperation( ALArchiveOperation operation,
|
|
ALArchiveBase *archive,
|
|
ALEntry *job );
|
|
/*
|
|
* Data Members
|
|
*/
|
|
protected :
|
|
int miCurrentOffset;
|
|
const int miBarLength;
|
|
ostream& mrStream;
|
|
public :
|
|
AL_CLASS_TAG( _ALBarGraphTag );
|
|
};
|
|
|
|
#endif /* #if defined( __cplusplus ) */
|
|
|
|
#endif /* #ifdef _BARGRAP_H */
|