8 #include "Arp/System/Commons/Logging.h" 9 #include "Arp/Plc/Commons/Esm/RtEventManagerSharedData.hpp" 10 #include "boost/interprocess/sync/interprocess_semaphore.hpp" 12 namespace Arp {
namespace Plc {
namespace Commons {
namespace Esm
43 bool WaitOne(
unsigned long timeoutArg = 0,
bool setSubscriberReadyArg =
true);
72 boost::interprocess::interprocess_semaphore semaphore1;
73 boost::interprocess::interprocess_semaphore semaphore2;
74 std::atomic<bool> isSubscriberReady;
87 this->isSubscriberReady = isSubscriberReadyArg;
92 return this->isSubscriberReady;
bool WaitOne(unsigned long timeoutArg=0, bool setSubscriberReadyArg=true)
Waits blocking on signal of the event.
RtEvent & operator=(const RtEvent &arg)=delete
Assignment operator.
void SetSubscriberReady(bool isSubscriberReadyArg=true)
Sets the state of the event subscriber.
Definition: RtEvent.hpp:85
bool IsSubscriberReady(void)
Returns state of the event subscriber.
Definition: RtEvent.hpp:90
void Set(void)
Signals the event.
Definition: Loggable.hxx:18
boost::interprocess::offset_ptr< T > Ptr
Returned pointer types are shared memory based offset pointer.
Definition: SharedMemory.hpp:27
String GetName()
Returns name identifier of the event.
Definition: RtEvent.hpp:80
bool SetAndWaitOne(unsigned long timeoutArg=0)
Fires the event and waits blocking on that the event has been processed.
RtEventManagerSharedData::Ptr< RtEvent > Ptr
Shared pointer type of RtEvent.
Definition: RtEvent.hpp:20
Root namespace for the PLCnext API
void Done(void)
Signals that the event was processed.
~RtEvent(void)=default
Destructs this instance and frees all resources.
RtEvent(const String &nameArg)
Constructs an RtEvent instance.
This class implements a ipc event for the bidirectional exchange of realtime events.
Definition: RtEvent.hpp:16