ptolemy.codegen.c.actor.lib.jni
Class CompiledCompositeActor

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.codegen.kernel.CodeGeneratorHelper
          extended by ptolemy.codegen.c.kernel.CCodeGeneratorHelper
              extended by ptolemy.codegen.c.actor.TypedCompositeActor
                  extended by ptolemy.codegen.c.actor.lib.jni.CompiledCompositeActor
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ActorCodeGenerator, ComponentCodeGenerator, Changeable, Debuggable, DebugListener, Derivable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
Direct Known Subclasses:
EmbeddedCActor, EmbeddedCFileActor

public class CompiledCompositeActor
extends TypedCompositeActor

Code generator helper for a composite actor that contains an actor with a body written in C.

Since:
Ptolemy II 6.1
Version:
$Id: CompiledCompositeActor.java 57040 2010-01-27 20:52:32Z cxh $
Author:
Gang Zhou, Christopher Brooks
See Also:
Serialized Form
Accepted Rating:
Red (zgang)
Proposed Rating:
Yellow (zgang)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.codegen.kernel.CodeGeneratorHelper
CodeGeneratorHelper.Channel, CodeGeneratorHelper.VariableScope
 
Nested classes/interfaces inherited from class ptolemy.kernel.util.NamedObj
NamedObj.ContainedObjectsIterator
 
Field Summary
 
Fields inherited from class ptolemy.codegen.kernel.CodeGeneratorHelper
_codeGenerator, _codeStream, _eol, _INDENT1, _INDENT2, _parseTreeCodeGenerator, _portConversions, _referencedParameters
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
 
Constructor Summary
CompiledCompositeActor(CompiledCompositeActor component)
          Construct the code generator helper associated with the given TypedCompositeActor.
 
Method Summary
private static CodeGenerator _getCodeGenerator(TypedCompositeActor compositeActor)
          Find the codeGenerator for a given actor.
static long copyFilesToCodeDirectory(TypedCompositeActor compositeActor)
          If necessary, copy files from the fileDependencies code block.
static void generateCode(TypedCompositeActor compositeActor)
          Generate code for a given actor.
 
Methods inherited from class ptolemy.codegen.c.actor.TypedCompositeActor
_createBufferSizeAndOffsetMap, _createOutputBufferSizeAndOffsetMap, _generateFireCode, analyzeTypeConvert, createOffsetVariablesIfNeeded, generateFireFunctionCode, generateInitializeCode, generateModeTransitionCode, generatePostfireCode, generatePreinitializeCode, generateVariableDeclaration, generateVariableInitialization, generateWrapupCode, getFiringsPerGlobalIteration, getHeaderFiles, getIncludeDirectories, getLibraries, getModifiedVariables, getRates, getSharedCode, resetOutputPortsOffset, setFiringsPerGlobalIteration, setRates
 
Methods inherited from class ptolemy.codegen.c.kernel.CCodeGeneratorHelper
_generateInputVariableDeclaration, _generateOutputVariableDeclaration, _generateReferencedParameterDeclaration, _generateTypeConvertStatement, _generateTypeConvertVariableDeclaration, _getFireFunctionArguments, _replaceMacro, getCodeGenerator, getJVMHeaderFiles, getParseTreeCodeGenerator
 
Methods inherited from class ptolemy.codegen.kernel.CodeGeneratorHelper
_createInputBufferSizeAndOffsetMap, _findClosedParen, _generateBlockCode, _generateBlockCode, _generateTypeConvertMethod, _generateTypeConvertStatements, _getCastType, _getChannelAndOffset, _getHelper, _getHelper, _getIndentPrefix, _getReference, _getReferenceChannels, _getTypeConvertChannels, _getTypeConvertReference, _indexOf, addFunctionUsed, addNewTypeUsed, checkLocal, checkRemote, codeGenType, copyFilesToCodeDirectory, generateChannelOffset, generateFireCode, generateFireFunctionCode2, generateName, generateOffset, generatePortReference, generatePrefireCode, generateSimpleName, generateTypeConvertFireCode, generateTypeConvertFireCode, generateVariableName, getBufferSize, getBufferSize, getComponent, getDefaultBlocks, getDirector, getDirectorHelper, getFunctionInvocation, getLibraryDirectories, getNewInvocation, getObject, getParameterValue, getPort, getReadOffset, getReference, getReference, getReference, getReference, getSinkChannels, getSize, getSourceChannel, getWCET, getWriteOffset, isPrimitive, isPrimitive, parseList, processCode, resetInputPortsOffset, setBufferSize, setCodeGenerator, setReadOffset, setWriteOffset, targetType, toString
 
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _description, _exportMoMLContents, _getContainedObject, _isMoMLSuppressed, _markContentsDerived, _propagateExistence, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, _validateSettables, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, attributeTypeChanged, clone, clone, containedObjectsIterator, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttribute, getAttributes, getChangeListeners, getClassName, getContainer, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getElementName, getFullName, getModelErrorHandler, getName, getName, getPrototypeList, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setName, setPersistent, setSource, sortContainedObjects, toplevel, uniqueName, validateSettables, workspace
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CompiledCompositeActor

public CompiledCompositeActor(CompiledCompositeActor component)
Construct the code generator helper associated with the given TypedCompositeActor.

Parameters:
component - The associated component.
Method Detail

copyFilesToCodeDirectory

public static long copyFilesToCodeDirectory(TypedCompositeActor compositeActor)
                                     throws java.io.IOException,
                                            IllegalActionException
If necessary, copy files from the fileDependencies code block.

Parameters:
compositeActor - The compositeActor, which is usually an EmbeddedCActor.
Returns:
True if a file was copied.
Throws:
java.io.IOException - If there is a problem reading the codeDirectory parameter.
IllegalActionException - If there is a problem reading the codeDirectory parameter.
See Also:
CodeGeneratorHelper.copyFilesToCodeDirectory(NamedObj, CodeGenerator)

generateCode

public static void generateCode(TypedCompositeActor compositeActor)
                         throws IllegalActionException
Generate code for a given actor.

Parameters:
compositeActor - The actor for which code is generated.
Throws:
IllegalActionException - If there are problems accessing the actor.

_getCodeGenerator

private static CodeGenerator _getCodeGenerator(TypedCompositeActor compositeActor)
                                        throws IllegalActionException
Find the codeGenerator for a given actor. If there is no CodeGenerator, then one is added.

Parameters:
compositeActor - The actor for which code is generated.
Throws:
IllegalActionException - If there are problems accessing the actor.