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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
/*
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
*/
/*
* Most of our enumerated types are defined in ALDEFS.H so C programs
* have easy access to them. But C and VB have no use for these
* values, because they are only used by members of ALMonitor,
* they can't be passed to C or VB procedures.
*
* This type defines the various messages that are passed to
* ALMonitor::ArchiveOperation() during progress of an
* archiving operation.
*/
;
/*
* A forward declaration.
*
*/
class AL_CLASS_TYPE ALEntry;
/*
* class ALMonitor
*
* DESCRIPTION
*
* The ALMonitor class is used primarily for providing user interface
* information during archiving or other operations. Each ALEntryList
* object has an ALMonitor attached to it. When the archive operations
* are performed, the ALMonitor object is called using its two functions,
* Progress() and ArchiveOperation(). Progress() is used to update
* progress information, such as byte count or percent complete. The
* archive operation is functioned at various times, such as when files
* are opened, archives are opened, files are closed, etc.
*
* Good examples of how derived classes do all this stuff can be found in
* BARGRAPH.CPP and WINMON.CPP.
*
* DATA MEMBERS
*
* mlJobSize : The total size of the job being monitored. If the
* monitor is in AL_MONITOR_JOBS mode, we care about
* this. The archive base class has to set up this
* member before the archiving procedure starts.
*
* mlJobSoFar : The total number of bytes that have already been
* processed so far in this job. This number is
* updated after each file is completely processed. It
* does not reflect work done on the current file.
*
* mlObjectSize : The size of the current object being processed. This
* is usually set up by the archive function at the start
* of processing for the current file. If this number is
* set to -1, it means we have to check on it, since
* the archiving program was to lazy to open the file and
* check on.
*
* mlObjectStart : The starting offset of the current object in the
* file being processed. Sometimes the object we are
* working on might be in an archive, in which case
* we need to know where it starts.
*
* mlByteCount : This private member contains the byte count for all
* the data processed so far. Derived classes can
* call Progress() for the base class, and it will
* calculate this number. The number will be for
* the entire job when we are in AL_MONITOR_JOB mode,
* but just for the current object when we are in
* AL_MONITOR_OBJECTS mode.
*
* miRatio : The percentage of processing we have completed, an
* integer that hopefully ranges from 0 to 100. This
* number can also be calculated by calling Progress()
* in the base class. It will differ depending on whether
* we are in AL_MONITOR_JOB mode or AL_MONITOR_OBJECTS.
*
* miMonitorType : Either AL_MONITOR_OBJECT or AL_MONITOR_JOBS, depending
* on what was specified in the constructor.
*
* MEMBER FUNCTIONS
*
* ALMonitor() : The constructor.
* ~ALMonitor() : The virtual destructor.
* operator new() : The memory allocation operator used when the
* library resides in a DLL.
* Progress() : The routine called periodically to update progress
* indicators. The base class version just makes
* calculations.
* ArchiveOperation() : The routine called at various points during an
* archive operation. Does nothing worthwhile in the
* base class.
*
* REVISION HISTORY
*
* May 26, 1994 1.0A : First release
*
*/
class AL_CLASS_TYPE ;
/* #if defined( __cplusplus ) */
/* #ifndef _MONITOR_H */