kodi
Public Member Functions | Protected Attributes | List of all members
XFILE::CAPKFile Class Reference
Inheritance diagram for XFILE::CAPKFile:
Inheritance graph
[legend]
Collaboration diagram for XFILE::CAPKFile:
Collaboration graph
[legend]

Public Member Functions

bool Open (const CURL &url) override
 
void Close () override
 
bool Exists (const CURL &url) override
 
int64_t Seek (int64_t iFilePosition, int iWhence=SEEK_SET) override
 
ssize_t Read (void *lpBuf, size_t uiBufSize) override
 Attempt to read bufSize bytes from currently opened file into buffer bufPtr. More...
 
int Stat (struct __stat64 *buffer) override
 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...
 
int Stat (const CURL &url, struct __stat64 *buffer) override
 Fills struct __stat64 with information about file specified by url. More...
 
int64_t GetLength () override
 
int64_t GetPosition () override
 
int GetChunkSize () override
 
- Public Member Functions inherited from XFILE::IFile
virtual bool OpenForWrite (const CURL &url, bool bOverWrite=false)
 
virtual bool ReOpen (const CURL &url)
 
virtual ssize_t Write (const void *bufPtr, size_t bufSize)
 Attempt to write bufSize bytes from buffer bufPtr into currently opened file. More...
 
virtual bool ReadString (char *szLine, int iLineLength)
 
virtual void Flush ()
 
virtual int Truncate (int64_t size)
 
virtual double GetDownloadSpeed ()
 
virtual bool Delete (const CURL &url)
 
virtual bool Rename (const CURL &url, const CURL &urlnew)
 
virtual bool SetHidden (const CURL &url, bool hidden)
 
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 Attributes

CURL m_url
 
int m_zip_index
 
int64_t m_file_pos
 
int64_t m_file_size
 
struct zip_file * m_zip_file
 
struct zip * m_zip_archive
 

Member Function Documentation

◆ Read()

ssize_t CAPKFile::Read ( void *  bufPtr,
size_t  bufSize 
)
overridevirtual

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.

◆ Stat() [1/2]

int CAPKFile::Stat ( struct __stat64 *  buffer)
overridevirtual

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.

◆ Stat() [2/2]

int CAPKFile::Stat ( const CURL url,
struct __stat64 *  buffer 
)
overridevirtual

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.


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