13#ifndef INC_FILEDESC_HPP
14#define INC_FILEDESC_HPP
26#define FI_PARAMFILE 0x0001
27#define FI_READONLY 0x0002
28#define FI_WRITEONLY 0x0004
36 enum { CACHE_SIZE=10 };
46 UINT m_uAcquiredEpisodes;
47 UINT m_uAcquiredSamples;
49 UINT m_uCachedEpisode;
50 UINT m_uCachedEpisodeSize;
52 BOOL m_bHasOverlappedData;
59 const CFileDescriptor &operator=(
const CFileDescriptor &FI);
164 return m_File.GetFileHandle();
175 return m_File.Seek(llOffset, uFlag, pllNewOffset);
186 return m_File.GetFileSize();
207 return (m_nLastError==0);
217 return m_VSynch.Put( uStart, uLength, uOffset );
239 return m_VSynch.Get( uEpisode-1, pSynch, 1 );
249 return m_pvReadBuffer;
void SetLastEpiSize(UINT uEpiSize)
BOOL AllocReadBuffer(UINT uBytes)
void ChangeSynchArray(CSynch *pNewSynch)
void SetCachedEpisode(UINT uEpisode, UINT uEpisodeSize)
BOOL SetLastError(int nError)
BOOL TestFlag(UINT uFlag)
UINT GetCachedEpisode() const
UINT EpisodeLength(UINT uEpisode)
void SetSynchMode(CSynch::eMODE eMode)
BOOL CheckEpisodeNumber(UINT uEpisode)
BOOL GetSynchEntry(UINT uEpisode, Synch *pSynch)
BOOL Read(void *pvBuffer, UINT uSizeInBytes)
FILEHANDLE GetFileHandle()
void SetAcquiredSamples(UINT uSamples)
BOOL PutSynchEntry(UINT uStart, UINT uLength, UINT uOffset=0)
UINT GetAcquiredEpisodes() const
UINT GetLastEpiSize() const
BOOL GetOverlappedFlag() const
void SetOverlappedFlag(BOOL bOverlapped)
UINT GetCachedEpisodeSize() const
void SetAcquiredEpisodes(UINT uEpisodes)
UINT GetSynchCount() const
BOOL Open(LPCTSTR szFileName, BOOL bReadOnly)
BOOL Seek(LONGLONG llOffset, UINT uFlag, LONGLONG *pllOffset=NULL)