Vuo  1.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
VuoCompilerEventPort Class Referenceabstract

Description

A passive (non-trigger) port, optionally with data.

Public Member Functions

Value * generateCreatePortContext (Module *module, BasicBlock *block)
 Generates code to create a heap-allocated PortContext.
 
Value * generateLoadEvent (Module *module, BasicBlock *block, Value *nodeContextValue, Value *portContextValue=NULL)
 Generates code to get the current event value for this port.
 
void generateStoreEvent (Module *module, BasicBlock *block, Value *nodeContextValue, Value *eventValue, Value *portContextValue=NULL)
 Generates code to update the event value for this port.
 
void generateStoreEvent (Module *module, BasicBlock *block, Value *nodeContextValue, bool event, Value *portContextValue=NULL)
 Generates code to update the event value for this port.
 
Value * generateLoadData (Module *module, BasicBlock *block, Value *nodeContextValue, Value *portContextValue=NULL)
 Generates code to get the current data value for this port.
 
void generateStoreData (Module *module, BasicBlock *block, Value *nodeContextValue, Value *dataValue)
 Generates code to update the data value for this port.
 
void generateReplaceData (Module *module, BasicBlock *block, Value *nodeContextValue, Value *dataValue, Value *portContextValue=NULL)
 Generates code to update the data value for this port, handling the memory management for replacing the old data value.
 
virtual VuoCompilerDatagetData (void)=0
 Returns this port's data, or NULL if none.
 
VuoCompilerTypegetDataType (void)
 Returns the type of this port's data, or NULL if none.
 
- Public Member Functions inherited from VuoCompilerPort
bool hasConnectedCable (void) const
 Returns a boolean indicating whether this port has any attached cables.
 
bool hasConnectedDataCable (void) const
 Returns a boolean indicating whether this port has any attached data+event cables.
 
VuoTypegetDataVuoType (void)
 Returns this port's data type, or null if this port is event-only.
 
void setDataVuoType (VuoType *dataType)
 Sets the data type for this port, overriding the type from the port class.
 
void setNodeIdentifier (string nodeIdentifier)
 Sets an identifier that will be part of the string returned by getIdentifier().
 
virtual string getIdentifier (void)
 Returns a unique, consistent identifier for this port.
 
void setIndexInPortContexts (int indexInPortContexts)
 Sets the index of this node within the array of port contexts within the node context.
 
int getIndexInPortContexts (void)
 Returns the index of this node within the array of port contexts within the node context.
 
void setConstantStringCache (VuoCompilerConstantStringCache *constantStrings)
 Sets the cache used to generate constant string values.
 
Value * getDataVariable (Module *module, BasicBlock *block, Value *nodeContextValue)
 Returns the address of the data field within this port's context.
 
Value * generateGetPortContext (Module *module, BasicBlock *block, Value *nodeContextValue)
 Returns this port's context.
 
- Public Member Functions inherited from VuoCompilerNodeArgument
virtual ~VuoCompilerNodeArgument (void)
 Destructor.
 
- Public Member Functions inherited from VuoBaseDetail< VuoPort >
 VuoBaseDetail (string description, VuoPort *base)
 Creates a VuoNode detail class.
 
VuoPortgetBase (void) const
 Returns the VuoNode detail class instance's base class instance.
 
void setBase (VuoPort *base)
 Sets the VuoNode detail class instance's base class instance.
 

Protected Member Functions

 VuoCompilerEventPort (VuoPort *basePort)
 Creates a passive (non-trigger) port from the specified portClass.
 
- Protected Member Functions inherited from VuoCompilerPort
 VuoCompilerPort (VuoPort *basePort)
 Creates a compiler detail from a given basePort.
 
- Protected Member Functions inherited from VuoCompilerNodeArgument
 VuoCompilerNodeArgument (VuoPort *basePort)
 Creates an argument instance based on the specified argumentClass.
 

Protected Attributes

VuoCompilerDatadata
 Optional data stored in this port.
 
- Protected Attributes inherited from VuoCompilerPort
VuoCompilerConstantStringCacheconstantStrings
 Cache used to generate constant string values.
 

Constructor & Destructor Documentation

VuoCompilerEventPort::VuoCompilerEventPort ( VuoPort basePort)
protected

Creates a passive (non-trigger) port from the specified portClass.

Member Function Documentation

Value * VuoCompilerEventPort::generateCreatePortContext ( Module *  module,
BasicBlock *  block 
)
virtual

Generates code to create a heap-allocated PortContext.

Returns
A value of type PortContext *.

Implements VuoCompilerPort.

Value * VuoCompilerEventPort::generateLoadData ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
Value *  portContextValue = NULL 
)

Generates code to get the current data value for this port.

Value * VuoCompilerEventPort::generateLoadEvent ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
Value *  portContextValue = NULL 
)

Generates code to get the current event value for this port.

Returns
A value of type i1 (1-bit integer).
void VuoCompilerEventPort::generateReplaceData ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
Value *  dataValue,
Value *  portContextValue = NULL 
)

Generates code to update the data value for this port, handling the memory management for replacing the old data value.

void VuoCompilerEventPort::generateStoreData ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
Value *  dataValue 
)

Generates code to update the data value for this port.

void VuoCompilerEventPort::generateStoreEvent ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
Value *  eventValue,
Value *  portContextValue = NULL 
)

Generates code to update the event value for this port.

void VuoCompilerEventPort::generateStoreEvent ( Module *  module,
BasicBlock *  block,
Value *  nodeContextValue,
bool  event,
Value *  portContextValue = NULL 
)

Generates code to update the event value for this port.

virtual VuoCompilerData* VuoCompilerEventPort::getData ( void  )
pure virtual

Returns this port's data, or NULL if none.

Implemented in VuoCompilerOutputEventPort, and VuoCompilerInputEventPort.

VuoCompilerType * VuoCompilerEventPort::getDataType ( void  )

Returns the type of this port's data, or NULL if none.

Member Data Documentation

VuoCompilerData* VuoCompilerEventPort::data
protected

Optional data stored in this port.


The documentation for this class was generated from the following files: