PLCnext API Documentation 25.0.2.69
IControllerComponent.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
7#ifndef ARP_USE_ARP_SYSTEM_ACF_COMMONS
8#include "Arp/Base/Acf/Commons/IControllerComponent.hpp"
9namespace Arp::System::Acf
10{
12}
13#else
14#include "Arp/System/Core/Arp.h"
15
16namespace Arp { namespace System { namespace Acf
17{
18
28class IControllerComponent
29{
30public: // typedefs
32 typedef std::shared_ptr<IControllerComponent> Ptr;
33
34protected: // construction/destruction
36 IControllerComponent(void) = default;
38 virtual ~IControllerComponent(void) = default;
39
40public: // abstract execution operations
43 virtual void Start(void) = 0;
45 virtual void Stop(void) = 0;
46
47private: // deleted methods
48 IControllerComponent(const IControllerComponent& arg) = delete;
50};
51
53// inline methods of class IControllerComponent
54
55}}} // end of namesapce Arp::System::Acf
56
57#endif // ndef ARP_USE_ARP_SYSTEM_ACF_COMMONS
The Acf will use this interface to start and stop components during system startup and shutdown,...
Definition: IControllerComponent.hpp:25
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(void)=default
The default constructor.
virtual ~IControllerComponent(void)=default
The virtual default destructor.
IControllerComponent & operator=(IControllerComponent &&arg) noexcept=default
The move assignment operator.
This is the namespace of the Application Component Framework.
Definition: ComponentBase.hpp:72
Root namespace for the PLCnext API