24 bool _hasZmqConnection;
32 dispatch_queue_t controlQueue;
33 dispatch_queue_t telemetryQueue;
34 dispatch_source_t controlTimer;
35 dispatch_source_t telemetryTimer;
36 dispatch_semaphore_t controlCanceled;
37 dispatch_semaphore_t telemetryCanceled;
41 set<string> compositionsSendingAllTelemetry;
42 set<string> compositionsSendingEventTelemetry;
43 map<string, set<string> > portsSendingDataTelemetry;
47 void sendControlReply(
enum VuoControlReply reply, zmq_msg_t *messages,
unsigned int messageCount);
48 void sendTelemetry(
enum VuoTelemetry type, zmq_msg_t *messages,
unsigned int messageCount);
50 static char * mergeEnumDetails(
string type,
const char *details);
52 void subscribeToPortDataTelemetry(
const char *compositionIdentifier,
const char *portIdentifer);
53 void unsubscribeFromPortDataTelemetry(
const char *compositionIdentifier,
const char *portIdentifer);
54 bool isSubscribedToPortDataTelemetry(
const char *compositionIdentifier,
const char *portIdentifer);
56 void subscribeToEventTelemetry(
const char *compositionIdentifier);
57 void unsubscribeFromEventTelemetry(
const char *compositionIdentifier);
58 bool isSubscribedToEventTelemetry(
const char *compositionIdentifier);
60 void subscribeToAllTelemetry(
const char *compositionIdentifier);
61 void unsubscribeFromAllTelemetry(
const char *compositionIdentifier);
62 bool isSubscribedToAllTelemetry(
const char *compositionIdentifier);
64 void sendHeartbeat(
bool blocking =
false);
70 typedef void (*vuoInstanceInitType)(void);
71 vuoInstanceInitType vuoInstanceInit;
72 typedef void (*vuoInstanceTriggerStartType)(void);
73 vuoInstanceTriggerStartType vuoInstanceTriggerStart;
74 typedef void (*vuoInstanceTriggerStopType)(void);
75 vuoInstanceTriggerStopType vuoInstanceTriggerStop;
76 typedef void (*vuoSetInputPortValueType)(
const char *portIdentifier,
char *valueAsString);
77 vuoSetInputPortValueType vuoSetInputPortValue;
78 typedef unsigned int (*getPublishedInputPortCountType)(void);
79 getPublishedInputPortCountType getPublishedInputPortCount;
80 typedef unsigned int (*getPublishedOutputPortCountType)(void);
81 getPublishedOutputPortCountType getPublishedOutputPortCount;
82 typedef char ** (*getPublishedInputPortNamesType)(void);
83 getPublishedInputPortNamesType getPublishedInputPortNames;
84 typedef char ** (*getPublishedOutputPortNamesType)(void);
85 getPublishedOutputPortNamesType getPublishedOutputPortNames;
86 typedef char ** (*getPublishedInputPortTypesType)(void);
87 getPublishedInputPortTypesType getPublishedInputPortTypes;
88 typedef char ** (*getPublishedOutputPortTypesType)(void);
89 getPublishedOutputPortTypesType getPublishedOutputPortTypes;
90 typedef char ** (*getPublishedInputPortDetailsType)(void);
91 getPublishedInputPortDetailsType getPublishedInputPortDetails;
92 typedef char ** (*getPublishedOutputPortDetailsType)(void);
93 getPublishedOutputPortDetailsType getPublishedOutputPortDetails;
94 typedef void (*firePublishedInputPortEventType)(
const char *
const *names,
unsigned int count);
95 firePublishedInputPortEventType firePublishedInputPortEvent;
96 typedef void (*setPublishedInputPortValueType)(
const char *portIdentifier,
const char *valueAsString);
97 setPublishedInputPortValueType setPublishedInputPortValue;
98 typedef char * (*getPublishedInputPortValueType)(
const char *portIdentifier,
int shouldUseInterprocessSerialization);
99 getPublishedInputPortValueType getPublishedInputPortValue;
100 typedef char * (*getPublishedOutputPortValueType)(
const char *portIdentifier,
int shouldUseInterprocessSerialization);
101 getPublishedOutputPortValueType getPublishedOutputPortValue;
124 void sendInputPortsUpdated(
const char *compositionIdentifier,
const char *portIdentifier,
bool receivedEvent,
bool receivedData,
const char *portDataSummary);
125 void sendOutputPortsUpdated(
const char *compositionIdentifier,
const char *portIdentifier,
bool sentEvent,
bool sentData,
const char *portDataSummary);
128 void sendEventDropped(
const char *compositionIdentifier,
const char *portIdentifier);