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

#include <ShoutcastFile.h>

Inheritance diagram for XFILE::CShoutcastFile:
XFILE::IFile CThread

Public Member Functions

 CShoutcastFile ()
 
 ~CShoutcastFile () override
 
int64_t GetPosition () override
 
int64_t GetLength () override
 
bool Open (const CURL &url) 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=SEEK_SET) override
 
void Close () override
 
int IoControl (EIoControl request, void *param) override
 
void Process () 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)
 
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
 
- Public Member Functions inherited from CThread
 CThread (IRunnable *pRunnable, const char *ThreadName)
 
virtual ~CThread ()
 
void Create (bool bAutoDelete=false, unsigned stacksize=0)
 
void Sleep (unsigned int milliseconds)
 
int GetSchedRRPriority (void)
 
bool SetPrioritySched_RR (int iPriority)
 
bool IsAutoDelete () const
 
virtual void StopThread (bool bWait=true)
 
bool IsRunning () const
 
bool IsCurrentThread () const
 
int GetMinPriority (void)
 
int GetMaxPriority (void)
 
int GetNormalPriority (void)
 
int GetPriority (void)
 
bool SetPriority (const int iPriority)
 
bool WaitForThreadExit (unsigned int milliseconds)
 
float GetRelativeUsage ()
 
int64_t GetAbsoluteUsage ()
 
virtual void OnException ()
 

Protected Member Functions

bool ExtractTagInfo (const char *buf)
 
void ReadTruncated (char *buf2, int size)
 
- Protected Member Functions inherited from CThread
 CThread (const char *ThreadName)
 
virtual void OnStartup ()
 
virtual void OnExit ()
 
WaitResponse AbortableWait (CEvent &event, int timeoutMillis=-1)
 

Protected Attributes

CCurlFile m_file
 
std::string m_fileCharset
 
int m_metaint
 
int m_discarded
 
int m_currint
 
char * m_buffer
 
MUSIC_INFO::CMusicInfoTag m_tag
 
CFileCachem_cacheReader
 
CEvent m_tagChange
 
CCriticalSection m_tagSection
 
int64_t m_tagPos
 
- Protected Attributes inherited from CThread
std::atomic< bool > m_bStop
 

Additional Inherited Members

- Static Public Member Functions inherited from CThread
static bool IsCurrentThread (const ThreadIdentifier tid)
 
static ThreadIdentifier GetCurrentThreadId ()
 
static CThreadGetCurrentThread ()
 
- Protected Types inherited from CThread
enum  WaitResponse { WAIT_INTERRUPTED = -1, WAIT_SIGNALED = 0, WAIT_TIMEDOUT = 1 }
 

Constructor & Destructor Documentation

§ CShoutcastFile()

CShoutcastFile::CShoutcastFile ( )

§ ~CShoutcastFile()

CShoutcastFile::~CShoutcastFile ( )
override

Member Function Documentation

§ Close()

void CShoutcastFile::Close ( void  )
overridevirtual

Implements XFILE::IFile.

§ Exists()

bool XFILE::CShoutcastFile::Exists ( const CURL url)
inlineoverridevirtual

Implements XFILE::IFile.

§ ExtractTagInfo()

bool CShoutcastFile::ExtractTagInfo ( const char *  buf)
protected

§ GetLength()

int64_t CShoutcastFile::GetLength ( )
overridevirtual

Implements XFILE::IFile.

§ GetPosition()

int64_t CShoutcastFile::GetPosition ( )
overridevirtual

Implements XFILE::IFile.

§ IoControl()

int CShoutcastFile::IoControl ( EIoControl  request,
void param 
)
overridevirtual

Reimplemented from XFILE::IFile.

§ Open()

bool CShoutcastFile::Open ( const CURL url)
overridevirtual

Implements XFILE::IFile.

§ Process()

void CShoutcastFile::Process ( void  )
overridevirtual

Reimplemented from CThread.

§ Read()

ssize_t CShoutcastFile::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.

§ ReadTruncated()

void CShoutcastFile::ReadTruncated ( char *  buf2,
int  size 
)
protected

§ Seek()

int64_t CShoutcastFile::Seek ( int64_t  iFilePosition,
int  iWhence = SEEK_SET 
)
overridevirtual

Implements XFILE::IFile.

§ Stat()

int XFILE::CShoutcastFile::Stat ( const CURL url,
struct __stat64 buffer 
)
inlineoverridevirtual

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.

Member Data Documentation

§ m_buffer

char* XFILE::CShoutcastFile::m_buffer
protected

§ m_cacheReader

CFileCache* XFILE::CShoutcastFile::m_cacheReader
protected

§ m_currint

int XFILE::CShoutcastFile::m_currint
protected

§ m_discarded

int XFILE::CShoutcastFile::m_discarded
protected

§ m_file

CCurlFile XFILE::CShoutcastFile::m_file
protected

§ m_fileCharset

std::string XFILE::CShoutcastFile::m_fileCharset
protected

§ m_metaint

int XFILE::CShoutcastFile::m_metaint
protected

§ m_tag

MUSIC_INFO::CMusicInfoTag XFILE::CShoutcastFile::m_tag
protected

§ m_tagChange

CEvent XFILE::CShoutcastFile::m_tagChange
protected

§ m_tagPos

int64_t XFILE::CShoutcastFile::m_tagPos
protected

§ m_tagSection

CCriticalSection XFILE::CShoutcastFile::m_tagSection
protected

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