Vuo  2.0.0
VuoRuntimePersistentState.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
12 class VuoCompositionDiff;
13 class VuoNodeRegistry;
14 class VuoThreadManager;
16 class VuoRuntimeState;
17 
18 #include "VuoCompositionState.h"
19 
20 extern "C"
21 {
22 typedef void (*VuoCompositionFiniCallback)(void);
23 }
24 
29 {
30 private:
31  string workingDirectory;
32 
33  unsigned long lastEventId;
34 
35  bool _isStopRequested;
36 
37  vector<VuoCompositionFiniCallback> finiCallbacks;
38  dispatch_queue_t finiCallbackQueue;
39 
40  dispatch_group_t triggerWorkersScheduled;
41 
42 public:
44 
52 
54 
55  VuoRuntimePersistentState(const char *workingDirectory);
57  static string getCurrentWorkingDirectory(void);
58  char * getWorkingDirectory(void);
59  unsigned long getNextEventId(void);
60  bool isStopRequested(void);
63  void callFiniCallbacks(void);
64  dispatch_group_t getTriggerWorkersScheduled(void);
65 };
66 
67 extern "C"
68 {
69 unsigned long vuoGetNextEventId(VuoCompositionState *compositionState);
70 dispatch_group_t vuoGetTriggerWorkersScheduled(VuoCompositionState *compositionState);
71 }