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