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
/*
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 ALFile : public ALStorage
*
* DESCRIPTION
*
* This is the class declaration for ALFile. This is the fundamental disk
* storage class used in Archive Library. It is derived directly from
* ALStorage, so it has to implement versions of the five or six
* critical virtual functions, mostly relating to opening files, closing
* them, loading and flushing buffers.
*
* DATA MEMBERS
*
* miHandle : The handle of the file when opened. This is the value
* returned by the function call to open().
*
* MEMBER FUNCTIONS
*
* ALFile() : The constructor.
* ~ALFile() : The virtual destructor.
* operator new() : The memory allocation operator, only used when the
* library is inside a DLL.
* MakeTempName() : Private function used to generate temporary names.
* Open() : Virtual function to open the file.
* Create() : Virtual function to create the file.
* Close() : Virtual fn to close the file.
* LoadBuffer() : Virtual fn to load the I/O buffer from a specific address.
* FlushBuffer() : Virtual fn to flush the I/O buffer.
* Seek() : Virtual fn to seek to seek to a new position in the file.
* Rename() : Rename the underlying file.
* UnRename() : Undo the rename process.
* Delete() : Delete the disk file (not destroy!)
* RenameToBackup(): Rename the current file to a backup name.
*
* REVISION HISTORY
*
* May 26, 1994 1.0A : First release
*
* August 10, 1994 1.0B : Changed a default parameter to account for
* mixed case file names under UNIX and NT.
*/
class AL_CLASS_TYPE ALFile : public ALStorage ||
void AL_DLL_FAR * AL_PROTO operator ;
/*
* As usual, I don't want the compiler to generate a default copy constructor,
* or an assignment operator here. I force it to back off by declaring them
* here. They do not exist!
*/
protected :
AL_PROTO ;
ALFile AL_DLL_FAR & AL_PROTO operator=;
/*
* Member functions, grouped by category.
*
*
* Protected member manipulation, used inside library, not for public use.
*/
protected :
virtual void AL_PROTO ;
/*
* The file I/O access public interface
*/
public :
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
/*
* File name and underlying object manipulation public interface
*/
public :
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
virtual int AL_PROTO ;
/*
* Data members
*/
protected :
int miHandle;
public :
;
};
/* #if defined( __cplusplus ) */
/* #ifdef _FILESTOR_H */