1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*
Copyright 1990-2008 Light Infocon Tecnologia S/A
Este arquivo é parte do programa LightBase - Banco de Dados Textual Documental
O LightBase é um software livre; você pode redistribui-lo e/ou modifica-lo dentro
dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software
Livre (FSF); na versão 2 da Licença.
Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA
GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO
EM PARTICULAR. Veja a Licença Pública Geral GNU para maiores detalhes.
Você deve ter recebido uma cópia da Licença Pública Geral GNU versao 2, sob o
título "LICENCA.txt", junto com este programa, se não, escreva para a Fundação do
Software Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
/*
* class ALOpenInputFile
*
* DESCRIPTION
*
* This header file defines the ALCompressionEngine class. It is a base
* class with pure virtual functions, so it cannot be instantiated.
* The two derived classes supplied with Archive Library at this time are
* ALGreenleafEngine, which implements a Greenleaf proprietary compression
* engine, and ALCopyEngine, which just performs straight copying.
*
* ALCompressionEngine has two public virtual functions, Compress()
* and Decompress(), which are pure here. It also provides two
* virtual protected functions which are used to store configuration
* in the archive directory.
*
* DATA MEMBERS
*
* miCompressionType : The compression type integer is what gets stored
* in the archive directory, and what the archive
* class looks at when extracting so it can figure
* out what type of compression engine to construct
* for a specific type of object.
*
* mszCompressionType : This string just describes the compression type
* in ASCII format suitable for printing or display.
*
* mStatus : A standard ArchiveLib status object, stored
* with the compression engine. Check this after
* completing a compression or decompression to
* see how things went.
*
* MEMBER FUNCTIONS
*
* ALCompressionEngine() : The constructor. Only called by the ctors for
* derived classes.
* ~ALCompressionEngine() : The virtual destructor.
* operator new() : Memory allocation operator, only gets used
* when the library is in a DLL.
* WriteEngineData() : Private virtual function used to store engine
* specific data.
* ReadEngineData() : Private virtual function used to read back
* engine specific data.
* Compress() : The compression routine. Derived classes
* have to provide their own versions of this
* function. Wouldn't be much good without it.
* Decompress() : The inverse, has to know how to undo the
* Compress() output.
*
* REVISION HISTORY
*
* May 26, 1994 1.0A : First release
*
*/
class AL_CLASS_TYPE ALCompressionEngine ;
/* #if defined( __cplusplus ) */
/* #ifndef _CMPENGN_H */