Go to the documentation of this file.
33 #ifndef TTA_MACHINE_IMPLEMENTATION_HH
34 #define TTA_MACHINE_IMPLEMENTATION_HH
49 class UnitImplementationLocation;
85 const std::string& name,
const std::string& value);
104 const std::string& socket)
const;
132 size_t& missingFiles,
133 size_t& alternativeFiles);
135 const std::string& path,
136 std::string& resolvedPath);
188 const std::vector<std::string>& primarySearchPaths,
189 const std::vector<std::string>& secondarySearchPaths,
193 const std::vector<std::string>& searchPaths,
197 const std::string& unitName)
const;
bool checkImplFile(const std::vector< std::string > &primarySearchPaths, const std::vector< std::string > &secondarySearchPaths, std::string &file)
void removeFUImplementation(const std::string &unitName)
std::string icDecoderHDB() const
static const std::string OSNAME_RF_IMPLEMENTATIONS
ObjectState name for RF implementation container.
std::vector< std::string > alternativeFiles_
Possible alternative file paths for missing implementation files.
bool hasRFImplementation(const std::string &unitName) const
std::vector< std::string > missingFiles_
Implementation files defined in IDF which cannot be located.
bool hasICDecoderPluginFile() const
void removeRFImplementation(const std::string &unitName)
virtual void loadState(const ObjectState *state)
std::string decompressorFile_
Name of the decompressor block file.
static const std::string OSNAME_IU_IMPLEMENTATIONS
ObjectState name for IU implementation container.
IDF::MachineImplementation * implementation
the implementation definition of the estimated processor
RFImplementationLocation & iuImplementation(const std::string &iu) const
static const std::string OSKEY_IC_DECODER_PARAMETER_VALUE
ObjectState attribute name for ic&decoder parameter value.
SocketImplementationLocation & socketImplementation(const std::string &socket) const
ImplementationTable rfImplementations_
RF implementations.
void removeFuGeneration(const std::string &name)
static const std::string OSKEY_DECOMPRESSOR_FILE
ObjectState attribute key for the name of the decompressor file.
bool hasDecompressorFile() const
bool hasFUImplementation(const std::string &unitName) const
ImplementationTable iuImplementations_
IU implementations.
bool hasIUImplementation(const std::string &unitName) const
std::vector< Parameter > icDecoderParameters_
IC/decoder plugin parameters.
static const std::string OSKEY_IC_DECODER_PARAMETER_NAME
ObjectState attribute name for ic&decoder parameter name.
bool hasFUGeneration(const std::string &name) const
RFImplementationLocation & rfImplementation(const std::string &rf) const
void removeSocketImplementation(const std::string &unitName)
std::string icDecoderParameterValue(const std::string &name) const
virtual ObjectState * saveState() const
std::string sourceIDF_
Absolute path to the source IDF file.
void setICDecoderHDB(const std::string &file)
ImplementationTable busImplementations_
BUS implementations.
unsigned icDecoderParameterCount() const
std::string icDecoderParameterName(unsigned param) const
void makeImplFilesRelative(const std::vector< std::string > &sPaths)
void makeHDBPathRelative(const std::vector< std::string > &searchPaths, UnitImplementationLocation &implem) const
bool hasBusImplementation(const std::string &busName) const
static const std::string OSNAME_SOCKET_IMPLEMENTATIONS
ObjectState name for socket implementation container.
void removeIUImplementation(const std::string &unitName)
ImplementationTable fuImplementations_
FU implementations.
void clearICDecoderParameters()
void addBusImplementation(BusImplementationLocation *implementation)
void setICDecoderPluginName(const std::string &name)
std::string icDecoderPluginFile_
Name of the IC/decoder plugin file.
void addFuGeneration(const FUGenerated &fug)
void setDecompressorFile(const std::string &file)
static const std::string OSKEY_IC_DECODER_NAME
ObjectState attribute name for ic&decoder name.
std::vector< FUGenerated > fuGenerated_
Generated FUs.
std::string decompressorFile() const
int rfImplementationCount() const
void addRFImplementation(RFImplementationLocation *implementation)
int busImplementationCount() const
std::vector< UnitImplementationLocation * > ImplementationTable
Vector type for UnitImplementationLocation.
std::string sourceIDF() const
BusImplementationLocation & busImplementation(const std::string &bus) const
void removeBusImplementation(const std::string &unitName)
static const std::string OSNAME_IC_DECODER_PLUGIN
ObjectState name for the name of the IC/decoder plugin file.
int iuImplementationCount() const
virtual ~MachineImplementation()
static const std::string OSNAME_IC_DECODER_PARAMETER
ObjectState attribute name for ic&decoder parameter.
static const std::string OSNAME_FU_GENERATED
ObjectState name for FU generations container.
static const std::string OSNAME_FU_IMPLEMENTATIONS
ObjectState name for FU implementation container.
ImplementationTable socketImplementations_
SOCKET implementations.
void setICDecoderParameter(const std::string &name, const std::string &value)
static const std::string OSKEY_IC_DECODER_HDB
ObjectState attribute name for ic&decoder HDB.
std::string icDecoderPluginFile() const
int fuImplementationCount() const
void addFUImplementation(FUImplementationLocation *implementation)
int socketImplementationCount() const
IC/Decoder parameter struct.
bool hasICDecoderPluginName() const
void setICDecoderPluginFile(const std::string &file)
FUImplementationLocation & fuImplementation(const std::string &fu) const
static const std::string OSNAME_MACHINE_IMPLEMENTATION
ObjectState name for machine implementation.
bool checkImplFiles(size_t &missingFiles, size_t &alternativeFiles)
void ensureIndexValidity(int index, const ImplementationTable &table) const
const std::vector< FUGenerated > & FUGenerations() const
std::string icDecoderPluginName_
Name of the IC/decoder plugin.
std::string icDecoderHDB_
Name of the HDB of the IC/decoder plugin.
std::string icDecoderPluginName() const
void addSocketImplementation(SocketImplementationLocation *implementation)
static const std::string OSNAME_BUS_IMPLEMENTATIONS
ObjectState name for bus implementation container.
bool hasICDecoderHDB() const
static MachineImplementation * loadFromIDF(const std::string &idfFileName)
UnitImplementationLocation * findImplementation(const ImplementationTable &table, const std::string &unitName) const
static const std::string OSKEY_SOURCE_IDF
ObjectState attribute name for the source IDF.
static const std::string OSKEY_IC_DECODER_FILE
ObjectState attribute name for ic&decoder file.
void addIUImplementation(RFImplementationLocation *implementation)
bool hasSocketImplementation(const std::string &socketName) const