rad  2.0.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | List of all members
rad::ThreadActivity Class Referenceabstract

#include <activity.hpp>

Inheritance diagram for rad::ThreadActivity:
rad::ThreadBaseActivity rad::ThreadBaseActivity scxml4cpp::Activity scxml4cpp::Activity scxml4cpp::Activity scxml4cpp::Activity exmalserver::ActivityMoving exmalserver::ActivityMoving MyTestDoActivity server::ActivityMoving 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
 
- Public Member Functions inherited from rad::ThreadBaseActivity
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
void start () override
 
void stop () override
 
std::string GetName () const
 
int SetName (const std::string &name)
 
 ThreadBaseActivity (ThreadBaseActivity const &)=delete
 
void start () override
 
void stop () override
 
std::string GetName () const
 
int SetName (const std::string &name)
 
bool IsStopRequested () const
 To be implemented by child classes. More...
 
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
 
- Protected Member Functions inherited from rad::ThreadBaseActivity

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

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

Member Function Documentation

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

Implements rad::ThreadBaseActivity.

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

Implements rad::ThreadBaseActivity.

bool rad::ThreadActivity::IsThreadJoined ( ) const
overridevirtual
bool rad::ThreadActivity::IsThreadJoined ( ) const
overridevirtual
void rad::ThreadActivity::JoinThread ( )
overrideprotectedvirtual

Helper method to stop a do-activity thread.

Implements rad::ThreadBaseActivity.

void rad::ThreadActivity::JoinThread ( )
overrideprotectedvirtual
ThreadActivity& rad::ThreadActivity::operator= ( const ThreadActivity )
delete
ThreadActivity& rad::ThreadActivity::operator= ( const ThreadActivity )
delete
virtual void rad::ThreadActivity::Run ( )
pure virtual
virtual void rad::ThreadActivity::Run ( )
pure virtual
void rad::ThreadActivity::StartThread ( )
overrideprotectedvirtual

Helper method to start a do-activity thread.

Implements rad::ThreadBaseActivity.

void rad::ThreadActivity::StartThread ( )
overrideprotectedvirtual

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