181 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			181 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|  * COPYENGN.H
 | |
|  *
 | |
|  *  Header file for ArchiveLib 2.0
 | |
|  *
 | |
|  *  Copyright (c) 1994, 1995 Greenleaf Software, Inc.
 | |
|  *  All Rights Reserved
 | |
|  *
 | |
|  * DESCRIPTION
 | |
|  *
 | |
|  *  This header file contains the class definition for the derived
 | |
|  *  classes ALCopyCompressor and ALCopyDecompressor.
 | |
|  *
 | |
|  * CLASS DEFINITIONS:
 | |
|  *
 | |
|  *  ALCopyCompressor
 | |
|  *  ALCopyDecompressor
 | |
|  *
 | |
|  * REVISION HISTORY
 | |
|  *
 | |
|  *  May 26, 1994  1.0A  : First release
 | |
|  *
 | |
|  *  July 8, 1994  1.0B  : In most of my class definitions I create a prototype
 | |
|  *                        for a private/protected copy constructor and
 | |
|  *                        assignment operator, because I don't want the compiler
 | |
|  *                        to create default versions.  I forgot to do it for
 | |
|  *                        this class, which didn't cause any trouble under
 | |
|  *                        MS-DOS.  gcc under UNIX flagged the problem, which
 | |
|  *                        I fixed by adding the prototypes.
 | |
|  *
 | |
|  *  January 1, 1995 1.01A : Changed include of storage.h to stor.h.  Had
 | |
|  *                          clash with the new header file
 | |
|  *                          STORAGE.H used by compiler vendors for
 | |
|  *                          OLE implementation.
 | |
|  *
 | |
|  *  February 14, 1996  2.0: New release
 | |
|  */
 | |
| 
 | |
| #ifndef _COPYENG_H
 | |
| #define _COPYENG_H
 | |
| 
 | |
| #include "arclib.h"
 | |
| 
 | |
| #if defined( __cplusplus )
 | |
| 
 | |
| #include "engn.h"
 | |
| #include "stor.h"
 | |
| 
 | |
| /*
 | |
|  * class ALCopyCompressor
 | |
|  *
 | |
|  * DESCRIPTION
 | |
|  *
 | |
|  * ALCopyCompressor is a real simple class.  All it does is
 | |
|  * perform a raw binary copy of input to output.
 | |
|  *
 | |
|  * DATA MEMBERS
 | |
|  *
 | |
|  *  None!
 | |
|  *
 | |
|  * MEMBER FUNCTIONS
 | |
|  *
 | |
|  *  ALCopyCompressor()     : The constructor.
 | |
|  *  ~ALCopyCompressor()    : The virtual destructor.
 | |
|  *  operator new()         : Memory allocation operator, only gets used
 | |
|  *                           when the library is in a DLL.
 | |
|  *  Clone()                : If an ALCopyCompressor object is stored in a
 | |
|  *                           toolkit, this function will be called to
 | |
|  *                           create new copies of itself.
 | |
|  *  Compress()             : The compression routine.
 | |
|  *
 | |
|  * REVISION HISTORY
 | |
|  *
 | |
|  *  February 14, 1996 2.0A  : New release.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| class AL_CLASS_TYPE ALCopyCompressor : public ALCompressor {  /* Tag public class */
 | |
| /*
 | |
|  * Constructors, destructors, declarations, friends
 | |
|  */
 | |
|     public :
 | |
|         AL_PROTO ALCopyCompressor();
 | |
|         virtual AL_PROTO ~ALCopyCompressor();
 | |
| #if defined( AL_USING_DLL ) || defined( AL_BUILDING_DLL )
 | |
|         void AL_DLL_FAR * AL_PROTO operator new( size_t size );
 | |
| #endif
 | |
| /*
 | |
|  * The copy constructor and assignment operator do not exist.  I define
 | |
|  * them here to prevent the compiler from creating default versions.
 | |
|  */
 | |
|     protected :
 | |
|         AL_PROTO ALCopyCompressor( ALCopyCompressor AL_DLL_FAR & );
 | |
|         ALCopyCompressor AL_DLL_FAR & AL_PROTO operator=( ALCopyCompressor AL_DLL_FAR & rhs );
 | |
| /*
 | |
|  * Member functions
 | |
|  */
 | |
|     public :
 | |
|         virtual ALCompressor AL_DLL_FAR * AL_PROTO Clone( int engine_type ) const;
 | |
|         virtual int AL_PROTO Compress( ALStorage AL_DLL_FAR &input,
 | |
|                                     ALStorage AL_DLL_FAR &output );
 | |
| /*
 | |
|  * Data members
 | |
|  */
 | |
|     public :
 | |
|         AL_CLASS_TAG( _ALCopyCompressorTag );
 | |
| };
 | |
| 
 | |
| /*
 | |
|  * class ALCopyDecompressor
 | |
|  *
 | |
|  * DESCRIPTION
 | |
|  *
 | |
|  * ALCopyDecompressor is a real simple class.  All it does is
 | |
|  * perform a raw binary copy of input to output.  It looks
 | |
|  * an awful lot like its siblinb, ALCopyCompressor.
 | |
|  *
 | |
|  * DATA MEMBERS
 | |
|  *
 | |
|  *  None!
 | |
|  *
 | |
|  * MEMBER FUNCTIONS
 | |
|  *
 | |
|  *  ALCopyDecompressor()   : The constructor.
 | |
|  *  ~ALCopyDecompressor()  : The virtual destructor.
 | |
|  *  operator new()         : Memory allocation operator, only gets used
 | |
|  *                           when the library is in a DLL.
 | |
|  *  Clone()                : If an ALCopyCompressor object is stored in a
 | |
|  *                           toolkit, this function will be called to
 | |
|  *                           create new copies of itself.
 | |
|  *  DeCompress()           : The decompression routine.
 | |
|  *
 | |
|  * REVISION HISTORY
 | |
|  *
 | |
|  *  February 14, 1996 2.0A  : New release.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| class AL_CLASS_TYPE ALCopyDecompressor : public ALDecompressor {  /* Tag public class */
 | |
| /*
 | |
|  * Constructors, destructors, declarations, friends
 | |
|  */
 | |
|     public :
 | |
|         AL_PROTO ALCopyDecompressor();
 | |
|         virtual AL_PROTO ~ALCopyDecompressor();
 | |
| #if defined( AL_USING_DLL ) || defined( AL_BUILDING_DLL )
 | |
|         void AL_DLL_FAR * AL_PROTO operator new( size_t size );
 | |
| #endif
 | |
| /*
 | |
|  * The copy constructor and assignment operator do not exist.  I define
 | |
|  * them here to prevent the compiler from creating default versions.
 | |
|  */
 | |
|     protected :
 | |
|         AL_PROTO ALCopyDecompressor( ALCopyDecompressor AL_DLL_FAR & );
 | |
|         ALCopyDecompressor AL_DLL_FAR & AL_PROTO operator=( ALCopyDecompressor AL_DLL_FAR & rhs );
 | |
| /*
 | |
|  * Member functions
 | |
|  */
 | |
|     public :
 | |
|         virtual ALDecompressor AL_DLL_FAR * AL_PROTO Clone( int engine_type ) const;
 | |
|         virtual int AL_PROTO Decompress( ALStorage AL_DLL_FAR &input,
 | |
|                                          ALStorage AL_DLL_FAR &output,
 | |
|                                          long compressed_length = -1 );
 | |
| /*
 | |
|  * Data members
 | |
|  */
 | |
|     public :
 | |
|         AL_CLASS_TAG( _ALCopyDecompressorTag );
 | |
| };
 | |
| 
 | |
| #endif /* #if defined( __cplusplus ) */
 | |
| 
 | |
| #if !defined( __cplusplus )
 | |
| 
 | |
| AL_LINKAGE hALCompressor AL_FUNCTION newALCopyCompressor( void );
 | |
| AL_LINKAGE hALDecompressor AL_FUNCTION newALCopyDecompressor( void );
 | |
| 
 | |
| #endif /* #if !defined( __cplusplus ) */
 | |
| 
 | |
| #endif /* #ifndef _COPYENG_H         */
 |