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

#include <FileCache.h>

Inheritance diagram for XFILE::CFileCache:
XFILE::IFile CThread

Public Member Functions

 CFileCache (const unsigned int flags)
 ~CFileCache () override
void Process () override
void OnExit () override
void StopThread (bool bWait=true) override
bool Open (const CURL &url) override
void Close () override
bool Exists (const CURL &url) override
int Stat (const CURL &url, struct __stat64 *buffer) override
ssize_t Read (void *lpBuf, size_t uiBufSize) override
int64_t Seek (int64_t iFilePosition, int iWhence) override
int64_t GetPosition () override
int64_t GetLength () override
int IoControl (EIoControl request, void *param) override
IFileGetFileImp ()
const std::string GetProperty (XFILE::FileProperty type, const std::string &name="") const override
const std::vector< std::string > GetPropertyValues (XFILE::FileProperty type, const std::string &name="") const override
- Public Member Functions inherited from XFILE::IFile
 IFile ()
virtual ~IFile ()
virtual bool OpenForWrite (const CURL &url, bool bOverWrite=false)
virtual bool ReOpen (const CURL &url)
virtual int Stat (struct __stat64 *buffer)
virtual ssize_t Write (const void *bufPtr, size_t bufSize)
virtual bool ReadString (char *szLine, int iLineLength)
virtual void Flush ()
virtual int Truncate (int64_t size)
virtual int GetChunkSize ()
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)
- Public Member Functions inherited from CThread
 CThread (IRunnable *pRunnable, const char *ThreadName)
virtual ~CThread ()
void Create (bool bAutoDelete=false)
template<typename Rep , typename Period >
void Sleep (std::chrono::duration< Rep, Period > duration)
bool IsAutoDelete () const
bool IsRunning () const
bool IsCurrentThread () const
bool Join (std::chrono::milliseconds duration)
bool SetPriority (const ThreadPriority &priority)
 Set the threads priority. This uses the platforms native threading library to do so.
virtual void OnException ()

Additional Inherited Members

- Static Public Member Functions inherited from CThread
static const std::thread::id GetCurrentThreadId ()
static CThreadGetCurrentThread ()
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 }
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
virtual void OnStartup ()
WaitResponse AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1))
- Protected Attributes inherited from CThread
std::atomic< boolm_bStop

Constructor & Destructor Documentation

◆ CFileCache()

CFileCache::CFileCache ( const unsigned int flags)

◆ ~CFileCache()

CFileCache::~CFileCache ( )

Member Function Documentation

◆ Close()

void CFileCache::Close ( )

Implements XFILE::IFile.

◆ Exists()

bool CFileCache::Exists ( const CURL & url)

Implements XFILE::IFile.

◆ GetFileImp()

IFile * CFileCache::GetFileImp ( )

◆ GetLength()

int64_t CFileCache::GetLength ( )

Implements XFILE::IFile.

◆ GetPosition()

int64_t CFileCache::GetPosition ( )

Implements XFILE::IFile.

◆ GetProperty()

const std::string CFileCache::GetProperty ( XFILE::FileProperty type,
const std::string & name = "" ) const

Reimplemented from XFILE::IFile.

◆ GetPropertyValues()

const std::vector< std::string > XFILE::CFileCache::GetPropertyValues ( XFILE::FileProperty type,
const std::string & name = "" ) const

Reimplemented from XFILE::IFile.

◆ IoControl()

int CFileCache::IoControl ( EIoControl request,
void * param )

Reimplemented from XFILE::IFile.

◆ OnExit()

void CFileCache::OnExit ( )

Reimplemented from CThread.

◆ Open()

bool CFileCache::Open ( const CURL & url)

Implements XFILE::IFile.

◆ Process()

void CFileCache::Process ( void )

Reimplemented from CThread.

◆ Read()

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

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

bufPtrpointer to buffer
bufSizesize of the buffer
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.

◆ Seek()

int64_t CFileCache::Seek ( int64_t iFilePosition,
int iWhence )

Implements XFILE::IFile.

◆ Stat()

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

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).

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

Implements XFILE::IFile.

◆ StopThread()

void CFileCache::StopThread ( bool bWait = true)

Reimplemented from CThread.

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