AJA NTV2 SDK  17.0.1.1246
NTV2 SDK 17.0.1.1246
event.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
8 #ifndef AJA_EVENT_H
9 #define AJA_EVENT_H
10 
11 #include "ajabase/common/public.h"
12 #include <string>
13 
14 // forward declarations.
15 class AJAEventImpl;
16 
22 {
23 public:
24 
25  friend AJA_EXPORT AJAStatus AJAWaitForEvents(AJAEvent*, uint32_t, bool, uint32_t);
26 
37  AJAEvent(bool manualReset = true, const std::string& name = "");
38  virtual ~AJAEvent();
39 
47  virtual AJAStatus Signal();
48 
56  virtual AJAStatus Clear();
57 
66  virtual AJAStatus SetState(bool signaled = true);
67 
76  virtual AJAStatus GetState(bool* pSignaled);
77 
85  virtual AJAStatus SetManualReset(bool manualReset);
86 
94  virtual AJAStatus GetManualReset(bool* pManualReset);
95 
105  virtual AJAStatus WaitForSignal(uint32_t timeout = 0xffffffff);
106 
114  virtual AJAStatus GetEventObject(uint64_t* pEventObject);
115 
116 private:
117 
118  AJAEventImpl* mpImpl;
119 };
120 
138  uint32_t numEvents,
139  bool all = true,
140  uint32_t timeout = 0xffffffff);
141 
142 #endif // AJA_EVENT_H
AJAEventImpl
Definition: eventimpl.h:16
AJA_EXPORT
#define AJA_EXPORT
Definition: export.h:34
public.h
Master header for the ajabase library.
AJAStatus
AJAStatus
Definition: types.h:365
AJAWaitForEvents
AJAStatus AJAWaitForEvents(AJAEvent *pEventList, uint32_t numEvents, bool all, uint32_t timeout)
Definition: eventimpl.cpp:199
AJAEvent
Definition: event.h:21