PROFINET IO Controller Stack 1.0.0
Modern C++ implementation of a PROFINET IO Controller stack
Loading...
Searching...
No Matches
IAlarmListener.h
Go to the documentation of this file.
1
9#pragma once
10
11#include <functional>
12
13#include "profinet/alarms.h"
14
15namespace profinet
16{
17
31{
32 public:
38 virtual ~IAlarmListener() = default;
39
43 virtual void AddCallback(std::function<void(const AlarmNotification&)> callback) = 0;
44
48 virtual void RemoveCallback(std::function<void(const AlarmNotification&)> callback) = 0;
49
58 virtual void Start() = 0;
59
65 virtual void Stop() = 0;
66
70 [[nodiscard]] virtual bool IsRunning() const = 0;
71};
72
73} // namespace profinet
Declares PROFINET alarm, diagnosis, maintenance, and USI payload types and parsers.
Abstract interface for receiving PROFINET alarm notifications.
virtual void RemoveCallback(std::function< void(const AlarmNotification &)> callback)=0
Remove a registered callback for received alarm notifications.
virtual void Stop()=0
Stops alarm reception.
virtual void AddCallback(std::function< void(const AlarmNotification &)> callback)=0
Registers a callback for received alarm notifications.
virtual bool IsRunning() const =0
Indicates whether the listener is currently running.
virtual void Start()=0
Starts alarm reception.
virtual ~IAlarmListener()=default
Virtual destructor.
Complete parsed AlarmNotification PDU: header fields + parsed items.
Definition alarms.h:358