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::PthreadActivity Class Referenceabstract

#include <pthreadActivity.hpp>

Inheritance diagram for rad::PthreadActivity:
rad::ThreadBaseActivity rad::ThreadBaseActivity scxml4cpp::Activity scxml4cpp::Activity scxml4cpp::Activity scxml4cpp::Activity MyTestDoActivityPthread

Public Member Functions

 PthreadActivity (const std::string &id, const int cpu=-1, const int priotity=-1)
 
virtual ~PthreadActivity ()
 
virtual void Run ()=0
 
std::string GetName ()
 
int SetName (const std::string &name)
 
int GetCPU () const
 
int GetConfiguredCPU () const
 
void SetConfiguredCPU (const int cpu)
 
int GetPriority ()
 
int GetConfiguredPriority () const
 
void SetConfiguredPriority (const int priority)
 
pthread_t GetNativeHandle () const override
 
 PthreadActivity (const PthreadActivity &)=delete
 
PthreadActivityoperator= (const PthreadActivity &)=delete
 Disable copy constructor. More...
 
 PthreadActivity (const std::string &id, const int cpu=-1, const int priotity=-1)
 
virtual ~PthreadActivity ()
 
virtual void Run ()=0
 
std::string GetName ()
 
int SetName (const std::string &name)
 
int GetCPU () const
 
int GetConfiguredCPU () const
 
void SetConfiguredCPU (const int cpu)
 
int GetPriority ()
 
int GetConfiguredPriority () const
 
void SetConfiguredPriority (const int priority)
 
pthread_t GetNativeHandle () const override
 
 PthreadActivity (const PthreadActivity &)=delete
 
PthreadActivityoperator= (const PthreadActivity &)=delete
 Disable copy constructor. More...
 
- 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
 Disable assignment operator. More...
 
void JoinThread () override
 
bool IsThreadJoined () const override
 
void StartThread () override
 Disable assignment operator. More...
 
void JoinThread () override
 
bool IsThreadJoined () const override
 
- Protected Member Functions inherited from rad::ThreadBaseActivity

Detailed Description

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

Todo:

: move to std::threads

: add common base class

: add fiber based activity

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

Todo:

: move to std::threads

: add common base class

: add fiber based activity

Constructor & Destructor Documentation

rad::PthreadActivity::PthreadActivity ( const std::string &  id,
const int  cpu = -1,
const int  priority = -1 
)
explicit

Constructor for the PthreadActivity class.

Parameters
[in]idIdentifier of the do-activity.
[in]cpuCore where to run the thread associated to the activity.
[in]priorityPriority of the thread associated to the activity.
rad::PthreadActivity::~PthreadActivity ( )
virtual

Destructor for the PthreadActivity class.

rad::PthreadActivity::PthreadActivity ( const PthreadActivity )
delete
rad::PthreadActivity::PthreadActivity ( const std::string &  id,
const int  cpu = -1,
const int  priotity = -1 
)
explicit
virtual rad::PthreadActivity::~PthreadActivity ( )
virtual
rad::PthreadActivity::PthreadActivity ( const PthreadActivity )
delete

Member Function Documentation

int rad::PthreadActivity::GetConfiguredCPU ( ) const
Returns
the CPU on which the thread was configured to run.
int rad::PthreadActivity::GetConfiguredCPU ( ) const
int rad::PthreadActivity::GetConfiguredPriority ( ) const
Returns
the configured priority for this thread.
int rad::PthreadActivity::GetConfiguredPriority ( ) const
int rad::PthreadActivity::GetCPU ( ) const
Returns
the CPU on which the thread is running. It has to be invoked from the running method, otherwise it returns the CPU where the main thread is running.
int rad::PthreadActivity::GetCPU ( ) const
std::string rad::PthreadActivity::GetName ( )
std::string rad::PthreadActivity::GetName ( )
Returns
The name of the do-activity thread.
pthread_t rad::PthreadActivity::GetNativeHandle ( ) const
overridevirtual
Precondition
Activity must have been started.
Returns
The posix handle to the thread.

Implements rad::ThreadBaseActivity.

pthread_t rad::PthreadActivity::GetNativeHandle ( ) const
overridevirtual
Precondition
Activity must have been started.

Implements rad::ThreadBaseActivity.

int rad::PthreadActivity::GetPriority ( )
int rad::PthreadActivity::GetPriority ( )
Returns
the priority of this thread (> 0) or the error code (< 0).
bool rad::PthreadActivity::IsThreadJoined ( ) const
overrideprotectedvirtual
bool rad::PthreadActivity::IsThreadJoined ( ) const
overrideprotectedvirtual
void rad::PthreadActivity::JoinThread ( )
overrideprotectedvirtual

Helper method to stop a do-activity thread.

Implements rad::ThreadBaseActivity.

void rad::PthreadActivity::JoinThread ( )
overrideprotectedvirtual
PthreadActivity& rad::PthreadActivity::operator= ( const PthreadActivity )
delete

Disable copy constructor.

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

Disable copy constructor.

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

Implemented in MyTestDoActivityPthread.

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

Implemented in MyTestDoActivityPthread.

void rad::PthreadActivity::SetConfiguredCPU ( const int  cpu)

Configure the CPU on which the thread should be executed.

Parameters
[in]cpuNew core identifier.
void rad::PthreadActivity::SetConfiguredCPU ( const int  cpu)
void rad::PthreadActivity::SetConfiguredPriority ( const int  priority)
void rad::PthreadActivity::SetConfiguredPriority ( const int  priority)

Configure the priority for this thread.

Parameters
[in]priorityNew thread priority.
int rad::PthreadActivity::SetName ( const std::string &  name)
int rad::PthreadActivity::SetName ( const std::string &  name)
Parameters
[in]namefor the thread.
Returns
error code or 0 if successful.
void rad::PthreadActivity::StartThread ( )
overrideprotectedvirtual

Disable assignment operator.

Helper method to start a do-activity thread.

Implements rad::ThreadBaseActivity.

void rad::PthreadActivity::StartThread ( )
overrideprotectedvirtual

Disable assignment operator.

Implements rad::ThreadBaseActivity.


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