PLCnext API Documentation 25.0.2.69
IControllerComponent.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8
9namespace Arp::Base::Acf::Commons
10{
11
24class ARP_EXPORT IControllerComponent
25{
26public: // usings
27
29 using Ptr = std::shared_ptr<IControllerComponent>;
30
31protected: // construction/destruction
32
34 IControllerComponent(void) = default;
35
39
43
48
53
55 virtual ~IControllerComponent(void) = default;
56
57public: // abstract execution operations
58
61 virtual void Start(void) = 0;
62
64 virtual void Stop(void) = 0;
65};
66
67} // end of namespace Arp::System::Acf::Commons
68
69namespace Arp::System::Acf
70{
72}
The Acf will use this interface to start and stop components during system startup and shutdown,...
Definition: IControllerComponent.hpp:25
IControllerComponent(const IControllerComponent &arg)=delete
The copy constructor is deleted.
virtual void Stop(void)=0
Stops this component, i.e. the component stops its own threads.
std::shared_ptr< IControllerComponent > Ptr
The pointer type of this interface.
Definition: IControllerComponent.hpp:29
virtual void Start(void)=0
Starts this component, that is, the component starts its own threads.
IControllerComponent(IControllerComponent &&arg) noexcept=default
The move constructor.
IControllerComponent(void)=default
The default constructor.
virtual ~IControllerComponent(void)=default
The virtual default destructor.
IControllerComponent & operator=(IControllerComponent &&arg) noexcept=default
The move assignment operator.
IControllerComponent & operator=(const IControllerComponent &arg)=delete
The copy assignment operator is deleted.
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:72