campo-sirio/al/h/copyengn.h
alex 714dd74636 Archive Library versione 2.00
git-svn-id: svn://10.65.10.50/trunk@5350 c028cbd2-c16b-5b4b-a496-9718f37d4682
1997-10-09 16:09:54 +00:00

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 */