Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
XFILE::CWin32File Class Reference

#include <Win32File.h>

Inheritance diagram for XFILE::CWin32File:
XFILE::IFile XFILE::CWin32SMBFile

Public Member Functions

 CWin32File ()
 
virtual ~CWin32File ()
 
virtual bool Open (const CURL &url)
 
virtual bool OpenForWrite (const CURL &url, bool bOverWrite=false)
 
virtual void Close ()
 
virtual ssize_t Read (void *lpBuf, size_t uiBufSize)
 
virtual ssize_t Write (const void *lpBuf, size_t uiBufSize)
 
virtual int64_t Seek (int64_t iFilePosition, int iWhence=SEEK_SET)
 
virtual int Truncate (int64_t toSize)
 
virtual int64_t GetPosition ()
 
virtual int64_t GetLength ()
 
virtual void Flush ()
 
virtual bool Delete (const CURL &url)
 
virtual bool Rename (const CURL &urlCurrentName, const CURL &urlNewName)
 
virtual bool SetHidden (const CURL &url, bool hidden)
 
virtual bool Exists (const CURL &url)
 
virtual int Stat (const CURL &url, struct __stat64 *statData)
 
virtual int Stat (struct __stat64 *statData)
 
virtual int GetChunkSize ()
 
- Public Member Functions inherited from XFILE::IFile
 IFile ()
 
virtual ~IFile ()
 
virtual bool ReOpen (const CURL &url)
 
virtual bool ReadString (char *szLine, int iLineLength)
 
virtual double GetDownloadSpeed ()
 
virtual int IoControl (EIoControl request, void *param)
 
virtual const std::string GetProperty (XFILE::FileProperty type, const std::string &name="") const
 
virtual const std::vector< std::string > GetPropertyValues (XFILE::FileProperty type, const std::string &name="") const
 

Protected Member Functions

 CWin32File (bool asSmbFile)
 

Protected Attributes

HANDLE m_hFile
 
int64_t m_filePos
 
bool m_allowWrite
 
std::wstring m_filepathnameW
 
const bool m_smbFile
 
unsigned long m_lastSMBFileErr
 

Constructor & Destructor Documentation

◆ CWin32File() [1/2]

CWin32File::CWin32File ( )

◆ ~CWin32File()

CWin32File::~CWin32File ( )
virtual

◆ CWin32File() [2/2]

CWin32File::CWin32File ( bool asSmbFile)
explicitprotected

Member Function Documentation

◆ Close()

void CWin32File::Close ( )
virtual

Implements XFILE::IFile.

◆ Delete()

bool CWin32File::Delete ( const CURL & url)
virtual

Reimplemented from XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Exists()

bool CWin32File::Exists ( const CURL & url)
virtual

Implements XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Flush()

void CWin32File::Flush ( )
virtual

Reimplemented from XFILE::IFile.

◆ GetChunkSize()

int CWin32File::GetChunkSize ( )
virtual

Reimplemented from XFILE::IFile.

◆ GetLength()

int64_t CWin32File::GetLength ( )
virtual

Implements XFILE::IFile.

◆ GetPosition()

int64_t CWin32File::GetPosition ( )
virtual

Implements XFILE::IFile.

◆ Open()

bool CWin32File::Open ( const CURL & url)
virtual

Implements XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ OpenForWrite()

bool CWin32File::OpenForWrite ( const CURL & url,
bool bOverWrite = false )
virtual

Reimplemented from XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Read()

ssize_t CWin32File::Read ( void * bufPtr,
size_t bufSize )
virtual

Attempt to read bufSize bytes from currently opened file into buffer bufPtr.

Parameters
bufPtrpointer to buffer
bufSizesize of the buffer
Returns
number of successfully read bytes if any bytes were read and stored in buffer, zero if no bytes are available to read (end of file was reached) or undetectable error occur, -1 in case of any explicit error

Implements XFILE::IFile.

◆ Rename()

bool CWin32File::Rename ( const CURL & urlCurrentName,
const CURL & urlNewName )
virtual
Todo
check whether it's file or directory

Reimplemented from XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Seek()

int64_t CWin32File::Seek ( int64_t iFilePosition,
int iWhence = SEEK_SET )
virtual

Implements XFILE::IFile.

◆ SetHidden()

bool CWin32File::SetHidden ( const CURL & url,
bool hidden )
virtual

Reimplemented from XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Stat() [1/2]

int CWin32File::Stat ( const CURL & url,
struct __stat64 * buffer )
virtual

Fills struct __stat64 with information about file specified by url. For st_mode function will set correctly _S_IFDIR (directory) flag and may set _S_IREAD (read permission), _S_IWRITE (write permission) flags if such information is available. Function may set st_size (file size), st_atime, st_mtime, st_ctime (access, modification, creation times). Any other flags and members of __stat64 that didn't updated with actual file information will be set to zero (st_nlink can be set ether to 1 or zero).

Parameters
urlspecifies requested file
bufferpointer to __stat64 buffer to receive information about file
Returns
zero of success, -1 otherwise.

Implements XFILE::IFile.

Reimplemented in XFILE::CWin32SMBFile.

◆ Stat() [2/2]

int CWin32File::Stat ( struct __stat64 * buffer)
virtual

Fills struct __stat64 with information about currently open file For st_mode function will set correctly _S_IFDIR (directory) flag and may set _S_IREAD (read permission), _S_IWRITE (write permission) flags if such information is available. Function may set st_size (file size), st_atime, st_mtime, st_ctime (access, modification, creation times). Any other flags and members of __stat64 that didn't updated with actual file information will be set to zero (st_nlink can be set ether to 1 or zero).

Parameters
bufferpointer to __stat64 buffer to receive information about file
Returns
zero of success, -1 otherwise.

Reimplemented from XFILE::IFile.

◆ Truncate()

int CWin32File::Truncate ( int64_t toSize)
virtual

Reimplemented from XFILE::IFile.

◆ Write()

ssize_t CWin32File::Write ( const void * bufPtr,
size_t bufSize )
virtual

Attempt to write bufSize bytes from buffer bufPtr into currently opened file.

Parameters
bufPtrpointer to buffer
bufSizesize of the buffer
Returns
number of successfully written bytes if any bytes were written, zero if no bytes were written and no detectable error occur, -1 in case of any explicit error

Reimplemented from XFILE::IFile.

Member Data Documentation

◆ m_allowWrite

bool XFILE::CWin32File::m_allowWrite
protected

◆ m_filepathnameW

std::wstring XFILE::CWin32File::m_filepathnameW
protected

◆ m_filePos

int64_t XFILE::CWin32File::m_filePos
protected

◆ m_hFile

HANDLE XFILE::CWin32File::m_hFile
protected

◆ m_lastSMBFileErr

unsigned long XFILE::CWin32File::m_lastSMBFileErr
protected

◆ m_smbFile

const bool XFILE::CWin32File::m_smbFile
protected

The documentation for this class was generated from the following files: