rad  3.0.0
Public Member Functions | Protected Member Functions | List of all members
rad::ThreadActivity Class Referenceabstract

#include <activity.hpp>

Inheritance diagram for rad::ThreadActivity:
rad::ThreadBaseActivity scxml4cpp::Activity exmalserver::ActivityMoving MyTestDoActivity server::ActivityMoving

Public Member Functions

 ThreadActivity (const ThreadActivity &)=delete
 
ThreadActivityoperator= (const ThreadActivity &)=delete
 
virtual void Run ()=0
 
pthread_t GetNativeHandle () const override
 
bool IsThreadJoined () const override
 
 ThreadActivity (const ThreadActivity &)=delete
 
ThreadActivityoperator= (const ThreadActivity &)=delete
 
virtual void Run ()=0
 
pthread_t GetNativeHandle () const override
 
bool IsThreadJoined () const override
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
- Public Member Functions inherited from rad::ThreadBaseActivity
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
void start (scxml4cpp::Context *c) override
 
void stop (scxml4cpp::Context *c) override
 
std::string GetName () const
 
int SetName (const std::string &name)
 
bool IsStopRequested () const
 To be implemented by child classes. More...
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
void start (scxml4cpp::Context *c) override
 
void stop (scxml4cpp::Context *c) override
 
std::string GetName () const
 
int SetName (const std::string &name)
 
bool IsStopRequested () const
 To be implemented by child classes. More...
 
- Public Member Functions inherited from scxml4cpp::Activity
 Activity (const std::string &id)
 
virtual ~Activity ()
 
std::string getId () const
 
void setId (const std::string &id)
 
 Activity (const std::string &id)
 
virtual ~Activity ()
 
std::string getId () const
 
void setId (const std::string &id)
 
 Activity (const std::string &id)
 
virtual ~Activity ()
 
std::string getId () const
 
void setId (const std::string &id)
 

Protected Member Functions

void StartThread () override
 
void JoinThread () override
 
void StartThread () override
 
void JoinThread () override
 

Detailed Description

This class is the base class for thread-based do-activities.

User should use IsStopRequested() to check for when to stop the activity.

Example implementation:

 class MyActivity : public ThreadActivity {
     void Run() override {
         while(!IsStopRequested()) {
             // do work
             ...
         }
     }
 };

Constructor & Destructor Documentation

◆ ThreadActivity() [1/2]

rad::ThreadActivity::ThreadActivity ( const ThreadActivity )
delete

◆ ThreadActivity() [2/2]

rad::ThreadActivity::ThreadActivity ( const ThreadActivity )
delete

Member Function Documentation

◆ GetNativeHandle() [1/2]

pthread_t rad::ThreadActivity::GetNativeHandle ( ) const
overridevirtual
Returns
Native thread handle.

Implements rad::ThreadBaseActivity.

◆ GetNativeHandle() [2/2]

pthread_t rad::ThreadActivity::GetNativeHandle ( ) const
overridevirtual
Returns
Native thread handle.

Implements rad::ThreadBaseActivity.

◆ IsThreadJoined() [1/2]

bool rad::ThreadActivity::IsThreadJoined ( ) const
overridevirtual

◆ IsThreadJoined() [2/2]

bool rad::ThreadActivity::IsThreadJoined ( ) const
overridevirtual

◆ JoinThread() [1/2]

void rad::ThreadActivity::JoinThread ( )
overrideprotectedvirtual

Helper method to stop a do-activity thread.

Implements rad::ThreadBaseActivity.

◆ JoinThread() [2/2]

void rad::ThreadActivity::JoinThread ( )
overrideprotectedvirtual

◆ operator=() [1/2]

ThreadActivity& rad::ThreadActivity::operator= ( const ThreadActivity )
delete

◆ operator=() [2/2]

ThreadActivity& rad::ThreadActivity::operator= ( const ThreadActivity )
delete

◆ Run() [1/2]

virtual void rad::ThreadActivity::Run ( )
pure virtual

◆ Run() [2/2]

virtual void rad::ThreadActivity::Run ( )
pure virtual

◆ StartThread() [1/2]

void rad::ThreadActivity::StartThread ( )
overrideprotectedvirtual

Helper method to start a do-activity thread.

Implements rad::ThreadBaseActivity.

◆ StartThread() [2/2]

void rad::ThreadActivity::StartThread ( )
overrideprotectedvirtual

◆ ThreadBaseActivity() [1/4]

rad::ThreadBaseActivity::ThreadBaseActivity
delete

◆ ThreadBaseActivity() [2/4]

rad::ThreadBaseActivity::ThreadBaseActivity
delete

◆ ThreadBaseActivity() [3/4]

rad::ThreadBaseActivity::ThreadBaseActivity
delete

◆ ThreadBaseActivity() [4/4]

rad::ThreadBaseActivity::ThreadBaseActivity
delete

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