Vuo  2.4.0
VuoProtocol.hh
Go to the documentation of this file.
1
10#pragma once
11
12class VuoRunner;
13
19{
20public:
21 static vector<VuoProtocol *> getProtocols(void);
22
23 static VuoProtocol *getProtocol(string id);
24 static string imageFilter;
25 static string imageGenerator;
26 static string imageTransition;
27
28 VuoProtocol(string id, string protocolName);
29
30 string getId(void);
31 string getName(void);
32 vector<pair<string, string> > getInputPortNamesAndTypes(void);
33 vector<pair<string, string> > getOutputPortNamesAndTypes(void);
34 bool hasInputPort(string portName);
35 bool hasOutputPort(string portName);
36 string getTypeForInputPort(string portName);
37 string getTypeForOutputPort(string portName);
38
39 void addInputPort(string portName, string portType);
40 void addOutputPort(string portName, string portType);
41
42 bool isCompositionCompliant(string compositionAsString);
44
45 static vector<VuoProtocol *> getCompositionProtocols(string compositionAsString);
46 static vector<VuoProtocol *> getCompositionProtocols(VuoRunner *runner);
47
48private:
49 static vector<VuoProtocol *> protocols;
50 string id;
51 string name;
52 vector<pair<string, string> > inputPortNamesAndTypes;
53 vector<pair<string, string> > outputPortNamesAndTypes;
54};