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
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
/*
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
*/
//
// extern "C" hALCompressed newALCompressed( hALStorage storage,
// hALEngine engine )
//
// ARGUMENTS:
//
// storage : A handle for (pointer to) an ALStorage object that is
// going to hold the compressed object.
//
// engine : A handle for (pointer to) an ALCompressionEngine that will
// be used to insert and extract objects from the the storage
// object.
//
// RETURNS
//
// A handle for (pointer to) a newly created ALCompressedObject, or 0 if
// the constructor failed.
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ constructor
// ALCompressedObject::ALCompressedObject(). See CMPOBJ.CPP for
// details on what happens in the member function.
//
// In the translation function, we just check the arguments for
// correct type (in the debug version) and call the function, returning
// the result to the calling function.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" hALCompressed AL_FUNCTION
//
// extern "C" void deleteALCompressed( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject
// that is going to be destroyed.
//
// RETURNS
//
// Nothing, this is a destructor.
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ destructor
// ALCompressedObject::~ALCompressedObject(). See CMPOBJ.CPP for
// details on what happens in the member function.
//
// In the translation function, we just check the arguments for
// correct type (in the debug version) and call the function.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" void AL_FUNCTION
//
// extern "C" int ALCompressedInsert( hALCompressed this_object,
// hALStorage input_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject
// that is going to have a storage object inserted
// int it.
//
// input_object : A handle for (pointer to) a storage object that is
// going to get compressed into this_object.
//
// RETURNS
//
// AL_SUCCESS for success, or < AL_SUCCESS for one of many failures
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ function
// ALCompressedObject::Insert(). See CMPOBJ.CPP for more details
// on what happens in the member function.
//
// In the translation function, we just check the arguments for
// correct type (in the debug version) and call the function. We
// return the integer result of the function directly to the calling
// function.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALCompressedExtract( hALCompressed this_object,
// hALStorage output_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject
// that is going to have a storage object extracted
// from it.
//
// output_object: A handle for (pointer to) a storage object that is
// going to receive the uncompressed object.
//
// RETURNS
//
// AL_SUCCESS for success, or < AL_SUCCESS for one of many failures
//
// DESCRIPTION
//
// This is the C/VB translation function for the C++ function
// ALCompressedObject::Extract(). See CMPOBJ.CPP for more details
// on what happens in the member function.
//
// In the translation function, we just check the arguments for
// correct type (in the debug version) and call the function. We
// return the integer result of the function directly to the calling
// function.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALCompressedGetStatusCode( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject.
//
// RETURNS
//
// An integer that contains the current status code for the object.
// Note that values of < 0 always indicate an error conditions.
//
// DESCRIPTION
//
// This is the C/VB wrapper function for the C++ function
// ALName::GetStatusCode() as implemented for objects of type
// ALCompressedObject. For details on how the member
// function actually works, take a look at OBJNAME.CPP.
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" int ALCompressedSetError( hALCompressed this_object,
// int error,
// char *text )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject.
// We are going to set the object's status member
// so that it is in an error state.
//
// error : The error code to apply to the object. Values from
// ALDEFS.H are good, but it really doesn't matter as
// long as you use a negative number.
//
// text : The text of the error message you want to associate with
// this error.
//
// RETURNS
//
// Returns the error code that you passed it.
//
// DESCRIPTION
//
// This is the C/VB wrapper function for the C++ member function
// ALName::SetError(), as applied to an ALCompressedObject. For more
// details on how the function actually works, check out OBJNAME.CPP.
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" int AL_FUNCTION
//
// extern "C" char *ALCompressedGetStatusString( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject.
// We want to get the string translation of the error
// code for this object.
//
// RETURNS
//
// Always returns a pointer to a short string translation of the
// current error code.
//
// DESCRIPTION
//
// This is the C wrapper function for the C++ function
// ALName::GetStatusString(), as implemented for class ALCompressedObject.
// Note that we need a completely different function in order to
// return strings to VB programmers, this function is only good for C!
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" char AL_DLL_FAR * AL_FUNCTION
//
// extern "C" long ALCompressedGetStatusStringVB( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject.
// We want to get the string translation of the error
// code for this object.
//
// RETURNS
//
// Always returns a VB handle (pointer?) to a short string translation of
// the current error code for the ALCompressedObject.
//
// DESCRIPTION
//
// This is the VB wrapper function for the C++ function
// ALName::GetStatusString(), as implemented for class ALCompressedObject.
// Note that we need a completely different function to return strings
// to C programmers. In this case, we use a special VB translation routine
// to convert a C string to one that is nice and easy for VB to use.
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
// August 10, 1994 1.0B : Combined a bunch of #ifdefs into a single test
// against AL_VB
extern "C" long AL_FUNCTION
//
// extern "C" char *ALCompressedGetStatusDetail( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedObject.
// We want to get the detailed string describing this
// object's current status.
//
// RETURNS
//
// Always returns a pointer to a status detail message.
//
// DESCRIPTION
//
// This is the C wrapper function for the C++ function
// ALName::GetStatusDetail(), as implemented for class ALCompressedObject.
// Note that we need a completely different function in order to
// return strings to VB programmers.
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
extern "C" char AL_DLL_FAR * AL_FUNCTION
//
// extern "C" long ALCompressedGetStatusDetailVB( hALCompressed this_object )
//
// ARGUMENTS:
//
// this_object : A handle for (pointer to) an ALCompressedobject.
// We want to get the detailed status message for
// this object.
//
// RETURNS
//
// Always returns a VB handle (pointer?) to a translation of
// the current status detail for the ALCompressedObject.
//
// DESCRIPTION
//
// This is the VB wrapper function for the C++ function
// ALName::GetStatusDetail(), as implemented for class ALCompressedObject.
// Note that we need a completely different function to return strings
// to C programmers. In this case, we use a special VB translation routine
// to convert a C string to one that is nice and easy for VB to use.
//
// All that happens here is that the arguments are checked for correct
// type (when in debug mode), and a call is made to the appropriate
// member function, with lots of casting.
//
// REVISION HISTORY
//
// May 24, 1994 1.0A : First release
//
// August 10, 1994 1.0B : Combined a bunch of #ifdefs into a single test
// against AL_VB
extern "C" long AL_FUNCTION