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

#include <CacheStrategy.h>

Inheritance diagram for XFILE::CCacheStrategy:
XFILE::CCircularCache XFILE::CDoubleCache XFILE::CSimpleFileCache

Public Member Functions

virtual ~CCacheStrategy ()
 
virtual int Open ()=0
 
virtual void Close ()=0
 
virtual size_t GetMaxWriteSize (const size_t &iRequestSize)=0
 
virtual int WriteToCache (const char *pBuffer, size_t iSize)=0
 
virtual int ReadFromCache (char *pBuffer, size_t iMaxSize)=0
 
virtual int64_t WaitForData (uint32_t iMinAvail, std::chrono::milliseconds timeout)=0
 
virtual int64_t Seek (int64_t iFilePosition)=0
 
virtual bool Reset (int64_t iSourcePosition)=0
 Reset cache position.
 
virtual void EndOfInput ()
 
virtual bool IsEndOfInput ()
 
virtual void ClearEndOfInput ()
 
virtual int64_t CachedDataEndPosIfSeekTo (int64_t iFilePosition)=0
 
virtual int64_t CachedDataStartPos ()=0
 
virtual int64_t CachedDataEndPos ()=0
 
virtual bool IsCachedPosition (int64_t iFilePosition)=0
 
virtual CCacheStrategyCreateNew ()=0
 

Public Attributes

CEvent m_space
 

Protected Attributes

bool m_bEndOfInput = false
 

Constructor & Destructor Documentation

◆ ~CCacheStrategy()

CCacheStrategy::~CCacheStrategy ( )
virtualdefault

Member Function Documentation

◆ CachedDataEndPos()

virtual int64_t XFILE::CCacheStrategy::CachedDataEndPos ( )
pure virtual

◆ CachedDataEndPosIfSeekTo()

virtual int64_t XFILE::CCacheStrategy::CachedDataEndPosIfSeekTo ( int64_t iFilePosition)
pure virtual

◆ CachedDataStartPos()

virtual int64_t XFILE::CCacheStrategy::CachedDataStartPos ( )
pure virtual

◆ ClearEndOfInput()

void CCacheStrategy::ClearEndOfInput ( )
virtual

Reimplemented in XFILE::CDoubleCache.

◆ Close()

virtual void XFILE::CCacheStrategy::Close ( )
pure virtual

◆ CreateNew()

virtual CCacheStrategy * XFILE::CCacheStrategy::CreateNew ( )
pure virtual

◆ EndOfInput()

void CCacheStrategy::EndOfInput ( )
virtual

◆ GetMaxWriteSize()

virtual size_t XFILE::CCacheStrategy::GetMaxWriteSize ( const size_t & iRequestSize)
pure virtual

◆ IsCachedPosition()

virtual bool XFILE::CCacheStrategy::IsCachedPosition ( int64_t iFilePosition)
pure virtual

◆ IsEndOfInput()

bool CCacheStrategy::IsEndOfInput ( )
virtual

Reimplemented in XFILE::CDoubleCache.

◆ Open()

virtual int XFILE::CCacheStrategy::Open ( )
pure virtual

◆ ReadFromCache()

virtual int XFILE::CCacheStrategy::ReadFromCache ( char * pBuffer,
size_t iMaxSize )
pure virtual

◆ Reset()

virtual bool XFILE::CCacheStrategy::Reset ( int64_t iSourcePosition)
pure virtual

Reset cache position.

Parameters
iSourcePositionposition to reset to
Returns
Whether a full reset was performed, or not (e.g. only cache swap)
See also
CCacheStrategy

Implemented in XFILE::CSimpleFileCache, XFILE::CDoubleCache, and XFILE::CCircularCache.

◆ Seek()

virtual int64_t XFILE::CCacheStrategy::Seek ( int64_t iFilePosition)
pure virtual

◆ WaitForData()

virtual int64_t XFILE::CCacheStrategy::WaitForData ( uint32_t iMinAvail,
std::chrono::milliseconds timeout )
pure virtual

◆ WriteToCache()

virtual int XFILE::CCacheStrategy::WriteToCache ( const char * pBuffer,
size_t iSize )
pure virtual

Member Data Documentation

◆ m_bEndOfInput

bool XFILE::CCacheStrategy::m_bEndOfInput = false
protected

◆ m_space

CEvent XFILE::CCacheStrategy::m_space

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