PLCnext API Documentation 25.0.2.69
ProgramBase.hpp
1
2//
3// Copyright Phoenix Contact GmbH & Co. KG
4//
6#pragma once
8#include "Arp/Plc/Commons/Esm/IProgram.hpp"
9namespace Arp { namespace Plc { namespace Commons { namespace Esm
10{
11
14class ProgramBase : public IProgram
15{
16private: // typedefs
17
18public: // construction/destruction
19 ProgramBase(const String& programName);
21 virtual ~ProgramBase(void) = default;
22
23public: // IProgram implementation
24 const String& GetFullName(void)const override;
25 const String& GetTaskName(void)const override;
26 void SetTaskName(const String& taskNameArg)override;
27 void SetInitialValues(void)override;
28 void AbortRequest(void)override;
29 bool IsAbortRequested(void)const override;
30
31public: // abstract IProgram operations
34 virtual void Execute(void) = 0;
35
36private: // deleted methods
37 ProgramBase(const ProgramBase& arg) = delete;
38 ProgramBase& operator=(const ProgramBase& arg) = delete;
39
40private: // fields
41 String programName;
42 String taskName;
43 bool abortRequested = false;
44};
45
47// inline methods of class ProgramBase
48
49
50}}}} // end of namespace Arp::Plc::Commons::Esm
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
Interface to implement PLC program to be executed in realtime context.
Definition: IProgram.hpp:19
This class implements the base functionality of a program.
Definition: ProgramBase.hpp:15
void SetTaskName(const String &taskNameArg) override
Set the task name in which is this program will be executed.
Definition: ProgramBase.cpp:40
bool IsAbortRequested(void) const override
Determines if this program is requested to abort.
Definition: ProgramBase.cpp:52
virtual void Execute(void)=0
Executes this program.
virtual ~ProgramBase(void)=default
Destructs this instance and frees all resouces.
ProgramBase(const String &programName)
Constructs an ProgramBase instance.
Definition: ProgramBase.cpp:12
const String & GetFullName(void) const override
Returns the program name with full namespace.
Definition: ProgramBase.cpp:19
void AbortRequest(void) override
Request a abort of program execution.
Definition: ProgramBase.cpp:46
const String & GetTaskName(void) const override
Returns the task name in which is this program will be executed.
Definition: ProgramBase.cpp:33
void SetInitialValues(void) override
Set the initial values of all containing variables of this program.
Definition: ProgramBase.cpp:25
Root namespace for the PLCnext API