8#include "Arp/System/Commons/Threading/LockGuard.hpp"
10namespace Arp {
namespace System {
namespace Commons {
namespace Threading
14class ConditionVariable;
26 typedef std::shared_ptr<AutoResetEvent>
Ptr;
46 bool WaitOne(
unsigned long timeoutMs = 0);
49 bool WaitOneInfinite(
void);
50 bool TimedWaitOne(
unsigned long timeoutMs);
59 std::unique_ptr<ConditionVariable> pSignal;
Event object to signal a single thread that an event has occurred. Can be used to synchronize threads...
Definition: AutoResetEvent.hpp:23
bool WaitOne(unsigned long timeoutMs=0)
Suspends thread execution until event is signaled by another thread.
std::shared_ptr< AutoResetEvent > Ptr
Definition of a pointer in the context of an AutoResetEvent.
Definition: AutoResetEvent.hpp:26
AutoResetEvent(bool initial=false)
Creates a new object with specified initial state.
void Set(void)
Sets the event to signaled state.
void Reset(void)
Resets the event state to non-signaled.
Definition: AutoResetEvent.hpp:64
Simple lock guard, acquiring lock on construction and release it on destruction.
Definition: LockGuard.hpp:15
Mutual exclusion object to prevent data from concurrent modifications.
Definition: Mutex.hpp:26
@ System
System components used by the System, Device, Plc or Io domains.
Root namespace for the PLCnext API