Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
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 (unsigned int iMinAvail, unsigned int iMillis)=0
 
virtual int64_t Seek (int64_t iFilePosition)=0
 
virtual bool Reset (int64_t iSourcePosition, bool clearAnyway=true)=0
 Reset cache position. More...
 
virtual void EndOfInput ()
 
virtual bool IsEndOfInput ()
 
virtual void ClearEndOfInput ()
 
virtual int64_t CachedDataEndPosIfSeekTo (int64_t iFilePosition)=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

§ 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,
bool  clearAnyway = true 
)
pure virtual

Reset cache position.

Parameters
iSourcePositionposition to reset to
clearAnywaywhether to perform a full reset regardless of in cached range already
Returns
Whether a full reset was performed, or not (e.g. only cache swap)
See also
CCacheStrategy

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

§ Seek()

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

§ WaitForData()

virtual int64_t XFILE::CCacheStrategy::WaitForData ( unsigned int  iMinAvail,
unsigned int  iMillis 
)
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: