Vuo 2.4.4
Loading...
Searching...
No Matches
VuoRuntimeContext.hh
Go to the documentation of this file.
1
10#pragma once
11
12extern "C"
13{
14
24
29{
30 bool event;
31 void *data;
33 dispatch_queue_t triggerQueue;
34 dispatch_semaphore_t triggerSemaphore;
37};
38
56
57struct PortContext * vuoCreatePortContext(void *data, bool isTrigger, const char *triggerQueueName);
58struct NodeContext * vuoCreateNodeContext(bool hasInstanceData, bool isComposition, size_t outputEventCount);
59void vuoFreePortContext(struct PortContext *portContext);
60void vuoFreeNodeContext(struct NodeContext *nodeContext);
61void vuoSetPortContextEvent(struct PortContext *portContext, bool event);
62void vuoSetPortContextData(struct PortContext *portContext, void *data);
63void vuoSetPortContextTriggerFunction(struct PortContext *portContext, void *triggerFunction);
64bool vuoGetPortContextEvent(struct PortContext *portContext);
65void * vuoGetPortContextData(struct PortContext *portContext);
66dispatch_queue_t vuoGetPortContextTriggerQueue(struct PortContext *portContext);
67dispatch_semaphore_t vuoGetPortContextTriggerSemaphore(struct PortContext *portContext);
68void * vuoGetPortContextTriggerFunction(struct PortContext *portContext);
69void vuoSetPortContextEventBlocking(struct PortContext *portContext, PortContext_EventBlocking eventBlocking);
70void vuoRetainPortContextData(struct PortContext *portContext);
71
72void vuoSetNodeContextPortContexts(struct NodeContext *nodeContext, struct PortContext **portContexts, unsigned long portContextCount);
73void vuoSetNodeContextInstanceData(struct NodeContext *nodeContext, void *instanceData);
74void vuoSetNodeContextClaimingEventId(struct NodeContext *nodeContext, unsigned long claimingEventId);
75void vuoSetNodeContextOutputEvent(struct NodeContext *nodeContext, size_t index, bool event);
76struct PortContext * vuoGetNodeContextPortContext(struct NodeContext *nodeContext, size_t index);
77void * vuoGetNodeContextInstanceData(struct NodeContext *nodeContext);
78unsigned long vuoGetNodeContextClaimingEventId(struct NodeContext *nodeContext);
79dispatch_group_t vuoGetNodeContextExecutingGroup(struct NodeContext *nodeContext);
80bool vuoGetNodeContextOutputEvent(struct NodeContext *nodeContext, size_t index);
81
82bool vuoEventHitAnyInputPort(NodeContext *nodeContext);
83bool vuoEventHitInputPort(NodeContext *nodeContext, PortContext_EventBlocking eligibleEventBlocking);
85void vuoResetNodeContextEvents(struct NodeContext *nodeContext);
86
87void vuoStartedExecutingEvent(struct NodeContext *nodeContext, unsigned long eventId);
88void vuoSpunOffExecutingEvent(struct NodeContext *nodeContext, unsigned long eventId);
89bool vuoFinishedExecutingEvent(struct NodeContext *nodeContext, unsigned long eventId);
90unsigned long vuoGetOneExecutingEvent(struct NodeContext *nodeContext);
91
92}