Twitch SDK (Internal)
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ttv::Component Class Referenceabstract

#include <component.h>

Inheritance diagram for ttv::Component:
ttv::IComponent ttv::broadcast::TwitchAPI ttv::ChannelRepository ttv::chat::BitsConfigRepository ttv::chat::ChatAPITaskHost ttv::chat::ChatReplay ttv::ComponentContainer ttv::User ttv::UserComponent ttv::UserRepository

Public Types

enum  State { State::Uninitialized, State::Initialized, State::ShuttingDown, State::Inert }
 

Public Member Functions

virtual ~Component ()
 
virtual std::string GetLoggerName () const =0
 
virtual void SetTaskRunner (std::shared_ptr< TaskRunner > taskRunner)
 
std::shared_ptr< TaskRunnerGetTaskRunner ()
 
virtual State GetState () const override
 
virtual TTV_ErrorCode Initialize () override
 
virtual void Update () override
 
virtual TTV_ErrorCode Shutdown () override
 

Protected Member Functions

 Component ()
 
TTV_ErrorCode StartTask (std::shared_ptr< Task > task)
 
void CompleteTask (Task *task)
 
bool IsTaskRunning (Task *task) const
 
virtual void SetState (State state)
 
virtual void SetClientState (State state)
 
virtual void SetServerState (State state)
 
virtual bool CheckShutdown ()
 
virtual void CompleteShutdown ()
 

Protected Attributes

ClientServerValue< StatemState
 
std::shared_ptr< TaskRunnermTaskRunner
 
std::vector< std::shared_ptr< Task > > mRunningTasks
 
std::mutex mTaskMutex
 
uint64_t mShutdownTimeMilliseconds
 

Member Enumeration Documentation

◆ State

enum ttv::IComponent::State
stronginherited
Enumerator
Uninitialized 
Initialized 
ShuttingDown 
Inert 

The component doesn't require shutting down.

Constructor & Destructor Documentation

◆ Component()

ttv::Component::Component ( )
protected

◆ ~Component()

virtual ttv::Component::~Component ( )
virtual

Member Function Documentation

◆ CheckShutdown()

virtual bool ttv::Component::CheckShutdown ( )
protectedvirtual

◆ CompleteShutdown()

virtual void ttv::Component::CompleteShutdown ( )
protectedvirtual

◆ CompleteTask()

void ttv::Component::CompleteTask ( Task task)
protected

◆ GetLoggerName()

virtual std::string ttv::Component::GetLoggerName ( ) const
pure virtual

◆ GetState()

virtual State ttv::Component::GetState ( ) const
overridevirtual

Implements ttv::IComponent.

◆ GetTaskRunner()

std::shared_ptr<TaskRunner> ttv::Component::GetTaskRunner ( )
inline

◆ Initialize()

virtual TTV_ErrorCode ttv::Component::Initialize ( )
overridevirtual

◆ IsTaskRunning()

bool ttv::Component::IsTaskRunning ( Task task) const
protected

◆ SetClientState()

virtual void ttv::Component::SetClientState ( State  state)
protectedvirtual

◆ SetServerState()

virtual void ttv::Component::SetServerState ( State  state)
protectedvirtual

◆ SetState()

virtual void ttv::Component::SetState ( State  state)
protectedvirtual

◆ SetTaskRunner()

virtual void ttv::Component::SetTaskRunner ( std::shared_ptr< TaskRunner taskRunner)
virtual

◆ Shutdown()

virtual TTV_ErrorCode ttv::Component::Shutdown ( )
overridevirtual

◆ StartTask()

TTV_ErrorCode ttv::Component::StartTask ( std::shared_ptr< Task task)
protected

◆ Update()

virtual void ttv::Component::Update ( )
overridevirtual

Member Data Documentation

◆ mRunningTasks

std::vector<std::shared_ptr<Task> > ttv::Component::mRunningTasks
protected

◆ mShutdownTimeMilliseconds

uint64_t ttv::Component::mShutdownTimeMilliseconds
protected

◆ mState

ClientServerValue<State> ttv::Component::mState
protected

◆ mTaskMutex

std::mutex ttv::Component::mTaskMutex
mutableprotected

◆ mTaskRunner

std::shared_ptr<TaskRunner> ttv::Component::mTaskRunner
protected

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