38 static dispatch_queue_t graphvizQueue;
41 map<string, VuoNodeClass *> dummyNodeClassForName;
42 map<string, VuoNodeClass *> nodeClassForName;
43 map<string, VuoNode *> nodeForName;
44 map<string, VuoComment *> commentForName;
45 vector<VuoNode *> orderedNodes;
46 vector<VuoCable *> orderedCables;
47 vector<VuoComment *> orderedComments;
48 map<string, string> typeForPublishedInputPort;
49 map<string, string> typeForPublishedOutputPort;
50 vector<VuoPublishedPort *> publishedInputPorts;
51 vector<VuoPublishedPort *> publishedOutputPorts;
54 map< size_t, pair< VuoCompilerCable *, pair<string, string> > > publishedCablesInProgress;
55 VuoNode *manuallyFirableInputNode;
56 VuoPort *manuallyFirableInputPort;
59 map<string, VuoCompilerNodeClass *> compilerNodeClasses;
60 map<string, VuoCompilerType *> compilerTypes;
61 set<string> compilerProNodeClassNames;
64 VuoCompilerGraphvizParser(
VuoCompiler *compiler,
const map<string, VuoCompilerNodeClass *> &compilerNodeClasses,
const map<string, VuoCompilerType *> &compilerTypes,
const set<string> &compilerProNodeClassNames);
66 void parse(
const string &compositionAsStringOrig);
67 void makeDummyNodeClasses(
void);
68 void makeNodeClasses(
void);
70 void makeCables(
void);
71 void makeComments(
void);
72 void parsePublishedPortTypes(
void);
73 void makePublishedPorts(
void);
74 void setInputPortConstantValues(
void);
75 void setPublishedPortDetails(
void);
76 void setTriggerPortEventThrottling(
void);
77 void setManuallyFirableInputPort(
void);
78 map<string, string> parsePortConstantValues(
Agnode_t *n);
79 bool parseAttributeOfPort(
Agnode_t *n,
string portName,
string suffix,
string &attributeValue);
80 void checkPortClasses(
string nodeClassName, vector<VuoPortClass *> dummy, vector<VuoPortClass *> actual);
81 void saveNodeDeclarations(
const string &compositionAsString);
82 static VuoType * inferTypeForPublishedPort(
string name,
const set<VuoCompilerPort *> &connectedPorts);