Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
XFILE::CDoubleCache Class Reference

#include <CacheStrategy.h>

Inheritance diagram for XFILE::CDoubleCache:
XFILE::CCacheStrategy

Public Member Functions

 CDoubleCache (CCacheStrategy *impl)
 
 ~CDoubleCache () override
 
int Open () override
 
void Close () override
 
size_t GetMaxWriteSize (const size_t &iRequestSize) override
 
int WriteToCache (const char *pBuffer, size_t iSize) override
 
int ReadFromCache (char *pBuffer, size_t iMaxSize) override
 
int64_t WaitForData (unsigned int iMinAvail, unsigned int iMillis) override
 
int64_t Seek (int64_t iFilePosition) override
 
bool Reset (int64_t iSourcePosition, bool clearAnyway=true) override
 Reset cache position. More...
 
void EndOfInput () override
 
bool IsEndOfInput () override
 
void ClearEndOfInput () override
 
int64_t CachedDataEndPosIfSeekTo (int64_t iFilePosition) override
 
int64_t CachedDataEndPos () override
 
bool IsCachedPosition (int64_t iFilePosition) override
 
CCacheStrategyCreateNew () override
 
- Public Member Functions inherited from XFILE::CCacheStrategy
virtual ~CCacheStrategy ()
 

Protected Attributes

CCacheStrategym_pCache
 
CCacheStrategym_pCacheOld
 
- Protected Attributes inherited from XFILE::CCacheStrategy
bool m_bEndOfInput = false
 

Additional Inherited Members

- Public Attributes inherited from XFILE::CCacheStrategy
CEvent m_space
 

Constructor & Destructor Documentation

§ CDoubleCache()

CDoubleCache::CDoubleCache ( CCacheStrategy impl)
explicit

§ ~CDoubleCache()

CDoubleCache::~CDoubleCache ( )
override

Member Function Documentation

§ CachedDataEndPos()

int64_t CDoubleCache::CachedDataEndPos ( )
overridevirtual

Implements XFILE::CCacheStrategy.

§ CachedDataEndPosIfSeekTo()

int64_t CDoubleCache::CachedDataEndPosIfSeekTo ( int64_t  iFilePosition)
overridevirtual

Implements XFILE::CCacheStrategy.

§ ClearEndOfInput()

void CDoubleCache::ClearEndOfInput ( )
overridevirtual

Reimplemented from XFILE::CCacheStrategy.

§ Close()

void CDoubleCache::Close ( void  )
overridevirtual

Implements XFILE::CCacheStrategy.

§ CreateNew()

CCacheStrategy * CDoubleCache::CreateNew ( )
overridevirtual

Implements XFILE::CCacheStrategy.

§ EndOfInput()

void CDoubleCache::EndOfInput ( )
overridevirtual

Reimplemented from XFILE::CCacheStrategy.

§ GetMaxWriteSize()

size_t CDoubleCache::GetMaxWriteSize ( const size_t &  iRequestSize)
overridevirtual

Implements XFILE::CCacheStrategy.

§ IsCachedPosition()

bool CDoubleCache::IsCachedPosition ( int64_t  iFilePosition)
overridevirtual

Implements XFILE::CCacheStrategy.

§ IsEndOfInput()

bool CDoubleCache::IsEndOfInput ( )
overridevirtual

Reimplemented from XFILE::CCacheStrategy.

§ Open()

int CDoubleCache::Open ( )
overridevirtual

Implements XFILE::CCacheStrategy.

§ ReadFromCache()

int CDoubleCache::ReadFromCache ( char *  pBuffer,
size_t  iMaxSize 
)
overridevirtual

Implements XFILE::CCacheStrategy.

§ Reset()

bool CDoubleCache::Reset ( int64_t  iSourcePosition,
bool  clearAnyway = true 
)
overridevirtual

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

Implements XFILE::CCacheStrategy.

§ Seek()

int64_t CDoubleCache::Seek ( int64_t  iFilePosition)
overridevirtual

Implements XFILE::CCacheStrategy.

§ WaitForData()

int64_t CDoubleCache::WaitForData ( unsigned int  iMinAvail,
unsigned int  iMillis 
)
overridevirtual

Implements XFILE::CCacheStrategy.

§ WriteToCache()

int CDoubleCache::WriteToCache ( const char *  pBuffer,
size_t  iSize 
)
overridevirtual

Implements XFILE::CCacheStrategy.

Member Data Documentation

§ m_pCache

CCacheStrategy* XFILE::CDoubleCache::m_pCache
protected

§ m_pCacheOld

CCacheStrategy* XFILE::CDoubleCache::m_pCacheOld
protected

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