16 #include <dispatch/dispatch.h>
21 #pragma clang diagnostic push
22 #pragma clang diagnostic ignored "-Wdocumentation"
23 #include "json-c/json.h"
24 #pragma clang diagnostic pop
159 string executablePath;
162 std::shared_ptr<VuoRunningCompositionLibraries> dependencyLibraries;
163 bool shouldContinueIfRunnerDies;
164 bool shouldDeleteBinariesWhenFinished;
166 bool isRuntimeCheckingEnabled;
172 dispatch_semaphore_t stoppedSemaphore;
173 dispatch_semaphore_t terminatedZMQContextSemaphore;
174 dispatch_semaphore_t beganListeningSemaphore;
175 dispatch_semaphore_t endedListeningSemaphore;
176 dispatch_semaphore_t lastFiredEventSemaphore;
177 bool lastFiredEventSignaled;
178 dispatch_queue_t controlQueue;
179 pid_t compositionPid;
180 int runnerReadCompositionWritePipe[2];
183 void *ZMQSelfReceive;
187 void *ZMQLoaderControl;
188 string ZMQControlURL;
189 string ZMQLoaderControlURL;
190 string ZMQTelemetryURL;
193 dispatch_queue_t delegateQueue;
195 vector<Port *> publishedInputPorts;
196 vector<Port *> publishedOutputPorts;
197 bool arePublishedInputPortsCached;
198 bool arePublishedOutputPortsCached;
203 void saturating_semaphore_signal(dispatch_semaphore_t dsema,
bool *sent);
204 void saturating_semaphore_wait(dispatch_semaphore_t dsema,
bool *sent);
207 void startInternal(
void);
209 void setUpConnections(
void);
210 void cleanUpConnections(
void);
212 void vuoLoaderControlRequestSend(
enum VuoLoaderControlRequest request, zmq_msg_t *messages,
unsigned int messageCount);
215 string receiveString(
string fallbackIfNull);
216 vector<string> receiveListOfStrings(
void);
217 vector<Port *> getCachedPublishedPorts(
bool input);
218 vector<Port *> refreshPublishedPorts(
bool input);
219 bool isInCurrentProcess(
void);
220 bool isUsingCompositionLoader(
void);
221 void stopBecauseLostContact(
string errorMessage);
222 void copyDylibAndChangeId(
string dylibPath,
string &outputDylibPath);
225 friend class TestControlAndTelemetry;
226 friend class TestVuoRunner;
329 #define VUO_UNUSED_VARIABLE __attribute__((unused))
347 virtual void lostContactWithComposition(
void) { }