PLCnext API Documentation  22.9.0.33
Public Types | Public Member Functions | Protected Member Functions | List of all members
Arp::System::Acf::IControllerComponent Class Referenceabstract

This is a quite important interface of the Arp platform. This is an extension to the basic IComponent interface and shall be implemented by components having its own threads. The Acf will use this interface to start and stop components during system startup and shutdown, respectively. More...

#include <IControllerComponent.hpp>

Public Types

typedef std::shared_ptr< IControllerComponentPtr
 The pointer type of this interface. More...
 

Public Member Functions

virtual void Start (void)=0
 Starts this component, that is, the component starts its own threads. More...
 
virtual void Stop (void)=0
 Stops this component, that is, the component stops its own threads. More...
 

Protected Member Functions

 IControllerComponent (void)=default
 The default constructor. More...
 
virtual ~IControllerComponent (void)=default
 The default destructor. More...
 

Detailed Description

This is a quite important interface of the Arp platform. This is an extension to the basic IComponent interface and shall be implemented by components having its own threads. The Acf will use this interface to start and stop components during system startup and shutdown, respectively.

Asynchron programmnig might be extremely difficult and error proned. This interface supports the component developer to get rid of the most multithreading issues. There is a clear and strict asynchron design and pattern in the Arp platform

Member Typedef Documentation

◆ Ptr

The pointer type of this interface.

Constructor & Destructor Documentation

◆ IControllerComponent()

Arp::System::Acf::IControllerComponent::IControllerComponent ( void  )
protecteddefault

The default constructor.

◆ ~IControllerComponent()

virtual Arp::System::Acf::IControllerComponent::~IControllerComponent ( void  )
protectedvirtualdefault

The default destructor.

Member Function Documentation

◆ Start()

virtual void Arp::System::Acf::IControllerComponent::Start ( void  )
pure virtual

Starts this component, that is, the component starts its own threads.

It is recommended to use the Arp::System::Commons::Threading::WorkerThread class for own threads.

◆ Stop()

virtual void Arp::System::Acf::IControllerComponent::Stop ( void  )
pure virtual

Stops this component, that is, the component stops its own threads.


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