xbmc
Public Member Functions | Static Public Member Functions | List of all members
XFILE::CFile Class Reference
Inheritance diagram for XFILE::CFile:
Inheritance graph
[legend]

Public Member Functions

bool CURLCreate (const std::string &url)
 
bool CURLAddOption (XFILE::CURLOPTIONTYPE type, const char *name, const char *value)
 
bool CURLOpen (unsigned int flags)
 
bool Open (const CURL &file, const unsigned int flags=0)
 Attempt to open an IFile instance. More...
 
bool Open (const std::string &strFileName, const unsigned int flags=0)
 
bool OpenForWrite (const CURL &file, bool bOverWrite=false)
 
bool OpenForWrite (const std::string &strFileName, bool bOverWrite=false)
 
ssize_t LoadFile (const CURL &file, std::vector< uint8_t > &outputBuffer)
 
ssize_t Read (void *bufPtr, size_t bufSize)
 Attempt to read bufSize bytes from currently opened file into buffer bufPtr. More...
 
bool ReadString (char *szLine, int iLineLength)
 
ssize_t Write (const void *bufPtr, size_t bufSize)
 Attempt to write bufSize bytes from buffer bufPtr into currently opened file. More...
 
void Flush ()
 
int64_t Seek (int64_t iFilePosition, int iWhence=SEEK_SET)
 
int Truncate (int64_t iSize)
 
int64_t GetPosition () const
 
int64_t GetLength ()
 
void Close ()
 
int GetChunkSize ()
 
const std::string GetProperty (XFILE::FileProperty type, const std::string &name="") const
 
const std::vector< std::string > GetPropertyValues (XFILE::FileProperty type, const std::string &name="") const
 
ssize_t LoadFile (const std::string &filename, std::vector< uint8_t > &outputBuffer)
 
const std::unique_ptr< BitstreamStats > & GetBitstreamStats () const
 
int IoControl (EIoControl request, void *param)
 
IFileGetImplementation () const
 
int Stat (struct __stat64 *buffer)
 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. More...
 
double GetDownloadSpeed ()
 

Static Public Member Functions

static int DetermineChunkSize (const int srcChunkSize, const int reqChunkSize)
 
static bool Exists (const CURL &file, bool bUseCache=true)
 
static bool Delete (const CURL &file)
 
static int Stat (const CURL &file, struct __stat64 *buffer)
 Fills struct __stat64 with information about file specified by filename 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. More...
 
static bool Rename (const CURL &file, const CURL &urlNew)
 
static bool Copy (const CURL &file, const CURL &dest, XFILE::IFileCallback *pCallback=NULL, void *pContext=NULL)
 
static bool SetHidden (const CURL &file, bool hidden)
 
static bool Exists (const std::string &strFileName, bool bUseCache=true)
 
static int Stat (const std::string &strFileName, struct __stat64 *buffer)
 Fills struct __stat64 with information about file specified by filename 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. More...
 
static bool Delete (const std::string &strFileName)
 
static bool Rename (const std::string &strFileName, const std::string &strNewFileName)
 
static bool Copy (const std::string &strFileName, const std::string &strDest, XFILE::IFileCallback *pCallback=NULL, void *pContext=NULL)
 
static bool SetHidden (const std::string &fileName, bool hidden)
 

Member Function Documentation

◆ Open()

bool CFile::Open ( const CURL file,
const unsigned int  flags = 0 
)

Attempt to open an IFile instance.

Parameters
filereference to CCurl file description
flagssee IFileTypes.h
Returns
true on success, false otherwise

Remarks: Open can only be called once. Calling Open() on an already opened file will fail except if flag READ_REOPEN is set and the underlying file has an implementation of ReOpen().

◆ Read()

ssize_t CFile::Read ( void *  bufPtr,
size_t  bufSize 
)

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

◆ Stat() [1/3]

int CFile::Stat ( const CURL file,
struct __stat64 *  buffer 
)
static

Fills struct __stat64 with information about file specified by filename 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
filespecifies requested file
bufferpointer to __stat64 buffer to receive information about file
Returns
zero of success, -1 otherwise.

◆ Stat() [2/3]

int CFile::Stat ( const std::string &  strFileName,
struct __stat64 *  buffer 
)
static

Fills struct __stat64 with information about file specified by filename 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
strFileNamespecifies requested file
bufferpointer to __stat64 buffer to receive information about file
Returns
zero of success, -1 otherwise.

◆ Stat() [3/3]

int CFile::Stat ( struct __stat64 *  buffer)

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.

◆ Write()

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

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

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