Vuo  2.0.0
VuoCompilerPort.hh
Go to the documentation of this file.
1 
10 #pragma once
11 
13 
15 class VuoPort;
16 class VuoType;
17 
22 {
23 public:
24  bool hasConnectedCable(void) const;
25  bool hasConnectedDataCable(void) const;
26  VuoType * getDataVuoType(void);
27  void setDataVuoType(VuoType *dataType);
28  void setNodeIdentifier(string nodeIdentifier);
29  virtual string getIdentifier(void);
30  void setIndexInPortContexts(int indexInPortContexts);
31  int getIndexInPortContexts(void);
33  Value * getDataVariable(Module *module, BasicBlock *block, Value *nodeContextValue);
34  Value * generateGetPortContext(Module *module, BasicBlock *block, Value *nodeContextValue);
35 
39  virtual Value * generateCreatePortContext(Module *module, BasicBlock *block) = 0;
40 
41 protected:
42  VuoCompilerPort(VuoPort * basePort);
43 
45 
46 private:
47  VuoType *dataType;
48  string nodeIdentifier;
49  int indexInPortContexts;
50 };