Twitch SDK (Internal)
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
ttv::ads::FetchAdsTask Class Reference

#include <fetchadstask.h>

Inheritance diagram for ttv::ads::FetchAdsTask:
ttv::HttpTask ttv::Task

Classes

struct  Context
 

Public Types

using Callback = std::function< void(FetchAdsTask *source, TTV_ErrorCode ec)>
 
typedef TTV_TaskCallback TaskCallback
 

Public Member Functions

 FetchAdsTask (const std::shared_ptr< Context > &context, const Callback &callback)
 
void ProcessResponse (uint statusCode, const std::vector< char > &response) override
 
void OnComplete () override
 
virtual void Run () override
 
virtual void Abort ()
 

Protected Member Functions

virtual const char * GetTaskName () const override
 
virtual void FillHttpRequestInfo (HttpRequestInfo &requestInfo) override
 
virtual void ResponseCallback (uint statusCode, const std::vector< char > &response) override
 
virtual bool HeadersCallback (uint statusCode, const std::map< std::string, std::string > &headers)
 
virtual bool ProcessHeaders (uint statusCode, const std::map< std::string, std::string > &headers)
 

Static Protected Member Functions

static bool Is2XX (uint32_t statusCode)
 
static bool Is3XX (uint32_t statusCode)
 
static bool Is4XX (uint32_t statusCode)
 

Protected Attributes

TTV_ErrorCode mTaskStatus
 
void * mUserData
 
std::atomic_bool mAborted
 

Private Types

enum  RequestType { RequestType::Initial, RequestType::Error, RequestType::Playlist, RequestType::Wrapper }
 

Private Member Functions

std::string GenerateUrl ()
 

Private Attributes

Callback mCallback
 
std::shared_ptr< ContextmContext
 
AdWrapper mActiveWrapper
 
RequestType mRequestType
 

Member Typedef Documentation

◆ Callback

using ttv::ads::FetchAdsTask::Callback = std::function<void(FetchAdsTask* source, TTV_ErrorCode ec)>

◆ TaskCallback

Member Enumeration Documentation

◆ RequestType

Enumerator
Initial 
Error 
Playlist 
Wrapper 

Constructor & Destructor Documentation

◆ FetchAdsTask()

ttv::ads::FetchAdsTask::FetchAdsTask ( const std::shared_ptr< Context > &  context,
const Callback callback 
)

Member Function Documentation

◆ Abort()

virtual void ttv::Task::Abort ( )
virtualinherited

◆ FillHttpRequestInfo()

virtual void ttv::ads::FetchAdsTask::FillHttpRequestInfo ( HttpRequestInfo requestInfo)
overrideprotectedvirtual

Implements ttv::HttpTask.

◆ GenerateUrl()

std::string ttv::ads::FetchAdsTask::GenerateUrl ( )
private

◆ GetTaskName()

virtual const char* ttv::ads::FetchAdsTask::GetTaskName ( ) const
inlineoverrideprotectedvirtual

Implements ttv::Task.

◆ HeadersCallback()

virtual bool ttv::HttpTask::HeadersCallback ( uint  statusCode,
const std::map< std::string, std::string > &  headers 
)
protectedvirtualinherited

◆ Is2XX()

static bool ttv::HttpTask::Is2XX ( uint32_t  statusCode)
inlinestaticprotectedinherited

◆ Is3XX()

static bool ttv::HttpTask::Is3XX ( uint32_t  statusCode)
inlinestaticprotectedinherited

◆ Is4XX()

static bool ttv::HttpTask::Is4XX ( uint32_t  statusCode)
inlinestaticprotectedinherited

◆ OnComplete()

void ttv::ads::FetchAdsTask::OnComplete ( )
overridevirtual

Reimplemented from ttv::HttpTask.

◆ ProcessHeaders()

virtual bool ttv::HttpTask::ProcessHeaders ( uint  statusCode,
const std::map< std::string, std::string > &  headers 
)
protectedvirtualinherited

◆ ProcessResponse()

void ttv::ads::FetchAdsTask::ProcessResponse ( uint  statusCode,
const std::vector< char > &  response 
)
overridevirtual

Reimplemented from ttv::HttpTask.

◆ ResponseCallback()

virtual void ttv::ads::FetchAdsTask::ResponseCallback ( uint  statusCode,
const std::vector< char > &  response 
)
overrideprotectedvirtual

Reimplemented from ttv::HttpTask.

◆ Run()

virtual void ttv::HttpTask::Run ( )
overridevirtualinherited

Implements ttv::Task.

Member Data Documentation

◆ mAborted

std::atomic_bool ttv::Task::mAborted
protectedinherited

◆ mActiveWrapper

AdWrapper ttv::ads::FetchAdsTask::mActiveWrapper
private

◆ mCallback

Callback ttv::ads::FetchAdsTask::mCallback
private

◆ mContext

std::shared_ptr<Context> ttv::ads::FetchAdsTask::mContext
private

◆ mRequestType

RequestType ttv::ads::FetchAdsTask::mRequestType
private

◆ mTaskStatus

TTV_ErrorCode ttv::HttpTask::mTaskStatus
protectedinherited

◆ mUserData

void* ttv::Task::mUserData
protectedinherited

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