AJA NTV2 SDK  18.0.0.2717
NTV2 SDK 18.0.0.2717
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 & outSignaled);
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  virtual inline AJAStatus GetState(bool* pSignaled) {return pSignaled ? GetState(*pSignaled) : AJA_STATUS_BAD_PARAM;}
117 
118 private:
119 
120  AJAEventImpl* mpImpl;
121 };
122 
140  uint32_t numEvents,
141  bool all = true,
142  uint32_t timeout = 0xffffffff);
143 
144 #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:378
AJAWaitForEvents
AJAStatus AJAWaitForEvents(AJAEvent *pEventList, uint32_t numEvents, bool all, uint32_t timeout)
Definition: eventimpl.cpp:199
AJAEvent
Definition: event.h:21
AJA_STATUS_BAD_PARAM
@ AJA_STATUS_BAD_PARAM
Definition: types.h:392