1
0
Fork 0

Added reference counting for dos_files

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@1181
This commit is contained in:
Ulf Wohlers 2003-08-11 11:50:30 +00:00
parent 6fed40f0a8
commit db97e36e58
3 changed files with 19 additions and 6 deletions

View file

@ -51,7 +51,7 @@ class DOS_DTA;
class DOS_File {
public:
DOS_File():flags(0) { name=0; };
DOS_File():flags(0) { name=0; refCtr = 0; };
virtual ~DOS_File(){};
virtual bool Read(Bit8u * data,Bit16u * size)=0;
virtual bool Write(Bit8u * data,Bit16u * size)=0;
@ -62,12 +62,15 @@ public:
virtual char* GetName(void) { return name; };
virtual bool IsOpen() { return open; };
virtual bool IsName(const char* _name) { if (!name) return false; return strcmp(name,_name)==0; };
virtual void AddRef() { refCtr++; };
virtual Bits RemoveRef() { return --refCtr; };
Bit8u type;
Bit32u flags;
Bit16u time;
Bit16u date;
Bit16u attr;
Bit32u size;
Bits refCtr;
bool open;
char* name;
/* Some Device Specific Stuff */