17 #include <peak/dll_interface/peak_dll_interface_util.hpp> 133 friend ClassCreator<EventController>;
148 : m_backendHandle(eventControllerHandle)
158 return QueryRawInformationFromCInterfaceFunction([&](int32_t* dataType, uint8_t* buffer,
size_t* bufferSize) {
160 m_backendHandle, infoCommand, dataType, buffer, bufferSize);
166 return QueryNumericFromCInterfaceFunction<size_t>([&](
size_t* numEventsInQueue) {
173 return QueryNumericFromCInterfaceFunction<uint64_t>([&](uint64_t* numEventsFired) {
180 return QueryNumericFromCInterfaceFunction<size_t>([&](
size_t* eventMaxSize) {
187 return QueryNumericFromCInterfaceFunction<size_t>([&](
size_t* eventDataMaxSize) {
194 auto eventHandle = QueryNumericFromCInterfaceFunction<PEAK_EVENT_HANDLE>(
199 return std::make_unique<ClassCreator<Event>>(eventHandle);
204 CallAndCheckCInterfaceFunction(
210 CallAndCheckCInterfaceFunction(
217 QueryNumericFromCInterfaceFunction<PEAK_EVENT_TYPE>([&](
PEAK_EVENT_TYPE* controlledEventType) {
219 m_backendHandle, controlledEventType);
PEAK_C_API PEAK_EventController_WaitForEvent(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, uint64_t timeout_ms, PEAK_EVENT_HANDLE *eventHandle)
Tells the given event controller to wait for an event with the given timeout.
EventType
Different types of events.
Definition: peak_event.hpp:34
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition: peak_dynamic_loader.h:32
PEAK_C_API PEAK_EventController_GetEventMaxSize(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, size_t *eventMaxSize)
Asks the event controller for the maximum size of an event.
std::unique_ptr< Event > WaitForEvent(Timeout timeout_ms)
Blocking wait for an event.
Definition: peak_event_controller.hpp:192
RawInformation Info(int32_t infoCommand) const
Delivers information based on the given GenTL info command.
Definition: peak_event_controller.hpp:156
struct PEAK_EVENT_CONTROLLER * PEAK_EVENT_CONTROLLER_HANDLE
Definition: peak_backend.h:461
Encapsulates the GenTL event functionality associated with one GenTL Event handle.
Definition: peak_event_controller.hpp:37
PEAK_C_API PEAK_EventController_FlushEvents(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle)
Tells the given event controller to flush all events in queue.
int32_t PEAK_EVENT_TYPE
Definition: peak_backend.h:168
PEAK_C_API PEAK_EventController_GetInfo(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, int32_t infoCommand, int32_t *infoDataType, uint8_t *info, size_t *infoSize)
Asks the given event controller for an information based on a specific command.
void KillWait()
Terminates a wait for an event.
Definition: peak_event_controller.hpp:202
struct PEAK_EVENT * PEAK_EVENT_HANDLE
Definition: peak_backend.h:465
PEAK_C_API PEAK_EventController_Destruct(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle)
Destroys the given event controller.
Represents a timeout value in milliseconds.
Definition: peak_timeout.hpp:30
size_t EventDataMaxSize() const
Returns the maximum size of the data of an event in bytes.
Definition: peak_event_controller.hpp:185
void FlushEvents()
Discards all events in queue.
Definition: peak_event_controller.hpp:208
PEAK_C_API PEAK_EventController_GetEventDataMaxSize(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, size_t *eventDataMaxSize)
Asks the event controller for the maximum size of an event's data.
size_t EventMaxSize() const
Returns the maximum size of an event in bytes.
Definition: peak_event_controller.hpp:178
#define PEAK_C_ABI_PREFIX
Definition: peak_dll_defines.h:16
PEAK_C_API PEAK_EventController_GetNumEventsInQueue(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, size_t *numEventsInQueue)
Asks the event controller for its number of events in queue.
uint64_t NumEventsFired() const
Returns the number of fired events.
Definition: peak_event_controller.hpp:171
size_t NumEventsInQueue() const
Returns the number of events in queue.
Definition: peak_event_controller.hpp:164
PEAK_C_API PEAK_EventController_GetNumEventsFired(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, uint64_t *numEventsFired)
Asks the event controller for its number of fired events.
EventType ControlledEventType() const
Returns the controlled event type.
Definition: peak_event_controller.hpp:214
PEAK_C_API PEAK_EventController_GetControlledEventType(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle, PEAK_EVENT_TYPE *controlledEventType)
Asks the event controller for its controlled event type.
EventController & operator=(const EventController &other)=delete
~EventController()
Definition: peak_event_controller.hpp:151
PEAK_C_API PEAK_EventController_KillWait(PEAK_EVENT_CONTROLLER_HANDLE eventControllerHandle)
Tells the given event controller to kill a wait for an event.