PLCnext API Documentation  21.0.0.35466
IControllerComponent.hpp
1 //
3 // Copyright PHOENIX CONTACT Electronics GmbH
4 //
6 #pragma once
7 #include "Arp/System/Core/Arp.h"
8 
9 namespace Arp { namespace System { namespace Acf
10 {
11 
22 {
23 public: // typedefs
25  typedef std::shared_ptr<IControllerComponent> Ptr;
26 
27 protected: // construction/destruction
29  IControllerComponent(void) = default;
31  virtual ~IControllerComponent(void) = default;
32 
33 public: // abstract execution operations
36  virtual void Start(void) = 0;
38  virtual void Stop(void) = 0;
39 
40 private: // deleted methods
41  IControllerComponent(const IControllerComponent& arg) = delete;
42  IControllerComponent& operator=(const IControllerComponent& arg) = delete;
43 };
44 
46 // inline methods of class IControllerComponent
47 
48 }}} // end of namesapce Arp::System::Acf
virtual ~IControllerComponent(void)=default
The default destructor.
std::shared_ptr< IControllerComponent > Ptr
The pointer type of this interface.
Definition: IControllerComponent.hpp:25
virtual void Stop(void)=0
Stops this component, that is, the component stops its own threads.
virtual void Start(void)=0
Starts this component, that is, the component starts its own threads.
This is a quite important interface of the Arp platform. This is an extension to the basic IComponent...
Definition: IControllerComponent.hpp:21
IControllerComponent(void)=default
The default constructor.
Root namespace for the PLCnext API
System components used by the System, Device, Plc or Io domains.