Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CTextureCacheJob Class Reference

Job class for caching textures. More...

#include <TextureCacheJob.h>

Inheritance diagram for CTextureCacheJob:
CJob

Public Member Functions

 CTextureCacheJob (const std::string &url, const std::string &oldHash="")
 
 ~CTextureCacheJob () override
 
const char * GetType () const override
 Function that returns the type of job.
 
bool operator== (const CJob *job) const override
 
bool DoWork () override
 Main workhorse function of CJob instances.
 
bool CacheTexture (std::unique_ptr< CTexture > *texture=nullptr)
 retrieve a hash for the given image Combines the size, ctime and mtime of the image file into a "unique" hash
 
- Public Member Functions inherited from CJob
 CJob ()
 
virtual ~CJob ()=default
 Destructor for job objects.
 
virtual bool ShouldCancel (unsigned int progress, unsigned int total) const
 Function for longer jobs to report progress and check whether they have been cancelled.
 

Static Public Member Functions

static bool ResizeTexture (const std::string &url, unsigned int height, unsigned int width, CPictureScalingAlgorithm::Algorithm scalingAlgorithm, uint8_t *&result, size_t &result_size)
 

Public Attributes

std::string m_url
 
std::string m_oldHash
 
CTextureDetails m_details
 

Additional Inherited Members

- Public Types inherited from CJob
enum  PRIORITY {
  PRIORITY_LOW_PAUSABLE = 0 , PRIORITY_LOW , PRIORITY_NORMAL , PRIORITY_HIGH ,
  PRIORITY_DEDICATED
}
 Priority levels for jobs, specified by clients when adding jobs to the CJobManager. More...
 

Detailed Description

Job class for caching textures.

Handles loading and caching of textures.

Constructor & Destructor Documentation

◆ CTextureCacheJob()

CTextureCacheJob::CTextureCacheJob ( const std::string & url,
const std::string & oldHash = "" )

◆ ~CTextureCacheJob()

CTextureCacheJob::~CTextureCacheJob ( )
overridedefault

Member Function Documentation

◆ CacheTexture()

bool CTextureCacheJob::CacheTexture ( std::unique_ptr< CTexture > * texture = nullptr)

retrieve a hash for the given image Combines the size, ctime and mtime of the image file into a "unique" hash

Parameters
urllocation of the image
Returns
a hash string for this image

◆ DoWork()

bool CTextureCacheJob::DoWork ( )
overridevirtual

Main workhorse function of CJob instances.

All CJob subclasses must implement this function, performing all processing. Once this function is complete, the OnJobComplete() callback is called, and the job is then destroyed.

See also
CJobManager, IJobCallback::OnJobComplete()

Implements CJob.

◆ GetType()

const char * CTextureCacheJob::GetType ( ) const
inlineoverridevirtual

Function that returns the type of job.

CJob subclasses may optionally implement this function to specify the type of job. This is useful for the CJobManager::AddLIFOJob() routine, which preempts similar jobs with the new job.

Returns
a unique character string describing the job.
See also
CJobManager

Reimplemented from CJob.

◆ operator==()

bool CTextureCacheJob::operator== ( const CJob * job) const
overridevirtual

Reimplemented from CJob.

◆ ResizeTexture()

bool CTextureCacheJob::ResizeTexture ( const std::string & url,
unsigned int height,
unsigned int width,
CPictureScalingAlgorithm::Algorithm scalingAlgorithm,
uint8_t *& result,
size_t & result_size )
static

Member Data Documentation

◆ m_details

CTextureDetails CTextureCacheJob::m_details

◆ m_oldHash

std::string CTextureCacheJob::m_oldHash

◆ m_url

std::string CTextureCacheJob::m_url

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