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

#include <lambdatask.h>

Inheritance diagram for ttv::LambdaTask:
ttv::Task

Public Types

typedef std::function< TTV_ErrorCode()> JobCallback
 
typedef std::function< void(LambdaTask *source, TTV_ErrorCode ec)> CompleteCallback
 
typedef TTV_TaskCallback TaskCallback
 

Public Member Functions

 LambdaTask (JobCallback lambda, CompleteCallback callback)
 
 LambdaTask (const std::string &name, JobCallback lambda, CompleteCallback callback)
 
virtual void Run () override
 
virtual void OnComplete () override
 
virtual const char * GetTaskName () const override
 
virtual void Abort ()
 

Protected Attributes

void * mUserData
 
std::atomic_bool mAborted
 

Private Attributes

std::string mName
 
JobCallback mLambda
 
CompleteCallback mCallback
 
TTV_ErrorCode mTaskStatus
 

Detailed Description

A simple task which simply runs the given lambda on the worker thread.

Member Typedef Documentation

◆ CompleteCallback

typedef std::function<void(LambdaTask* source, TTV_ErrorCode ec)> ttv::LambdaTask::CompleteCallback

◆ JobCallback

typedef std::function<TTV_ErrorCode()> ttv::LambdaTask::JobCallback

◆ TaskCallback

Constructor & Destructor Documentation

◆ LambdaTask() [1/2]

ttv::LambdaTask::LambdaTask ( JobCallback  lambda,
CompleteCallback  callback 
)

◆ LambdaTask() [2/2]

ttv::LambdaTask::LambdaTask ( const std::string &  name,
JobCallback  lambda,
CompleteCallback  callback 
)

Member Function Documentation

◆ Abort()

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

◆ GetTaskName()

virtual const char* ttv::LambdaTask::GetTaskName ( ) const
inlineoverridevirtual

Implements ttv::Task.

◆ OnComplete()

virtual void ttv::LambdaTask::OnComplete ( )
overridevirtual

Implements ttv::Task.

◆ Run()

virtual void ttv::LambdaTask::Run ( )
overridevirtual

Implements ttv::Task.

Member Data Documentation

◆ mAborted

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

◆ mCallback

CompleteCallback ttv::LambdaTask::mCallback
private

◆ mLambda

JobCallback ttv::LambdaTask::mLambda
private

◆ mName

std::string ttv::LambdaTask::mName
private

◆ mTaskStatus

TTV_ErrorCode ttv::LambdaTask::mTaskStatus
private

◆ mUserData

void* ttv::Task::mUserData
protectedinherited

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