PLCnext API Documentation 23.6.0.37
|
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< IControllerComponent > | Ptr |
The pointer type of this interface. | |
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. | |
Protected Member Functions | |
IControllerComponent (void)=default | |
The default constructor. | |
virtual | ~IControllerComponent (void)=default |
The default destructor. | |
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
|
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.