Go to the documentation of this file.
34 #ifndef TTA_CACHED_HDB_MANAGER_HH
35 #define TTA_CACHED_HDB_MANAGER_HH
105 const std::string& valueName,
const std::string& pluginName)
const;
138 mutable std::map<std::string, std::map<std::string, DataObject> >
142 mutable std::map<short int, RelationalDBQueryResult*>
std::map< std::string, std::map< std::string, DataObject > > costEstimationPluginValueCache_
Cost estimation plugin value cache (pluginName/valueName)
uintmax_t lastSizeInBytes_
used to detect modifications to the HDB file (which invalidates cache)
virtual FUImplementation * createImplementationOfFU(FUArchitecture &architecture, RowID id) const
virtual void removeFUEntry(RowID id) const
virtual void removeRFImplementation(RowID archID) const
std::map< RowID, FUArchitecture * > fuArchCache_
FU Architecture cache.
virtual void modifyCostFunctionPlugin(RowID id, const CostFunctionPlugin &plugin)
int RowID
Type definition of row ID in relational databases.
virtual FUArchitecture * fuArchitectureByID(RowID id) const
virtual void removeSocketEntry(RowID id) const
static CachedHDBManager & createNew(const std::string &fileName)
std::map< short int, RelationalDBQueryResult * > costEstimationDataIDsQueries_
map of cached (compiled) queries for costEstimatioDataIDs function
std::map< RowID, FUImplementation * > fuImplCache_
FU Implementation cache.
virtual void removeCostFunctionPlugin(RowID pluginID) const
virtual RFImplementation * createImplementationOfRF(RowID id) const
std::map< RowID, RFArchitecture * > rfArchCache_
RF Architecture cache.
const FUArchitecture & fuArchitectureByIDConst(RowID id) const
virtual ~CachedHDBManager()
virtual void removeRFEntry(RowID id) const
virtual void removeRFArchitecture(RowID archID) const
virtual DataObject costEstimationDataValue(const std::string &valueName, const std::string &pluginName) const
const RFArchitecture & rfArchitectureByIDConst(RowID id) const
virtual void removeFUImplementation(RowID id) const
std::string fileName() const
virtual void removeFUArchitecture(RowID archID) const
CachedHDBManager(const std::string &hdbFile)
virtual void removeBusEntry(RowID id) const
virtual std::set< RowID > costEstimationDataIDs(const CostEstimationData &match, bool useCompiledQueries=false, RelationalDBQueryResult *compiledQuery=NULL) const
virtual void removeCostEstimationData(RowID id) const
void validateCache() const
virtual void deleteCostEstimationDataIDsQueries() const
virtual void modifyCostEstimationData(RowID id, const CostEstimationData &data)
virtual RFArchitecture * rfArchitectureByID(RowID id) const
std::time_t lastModificationTime_
used to detect modifications to the HDB file (which invalidates cache)
std::map< RowID, RFImplementation * > rfImplCache_
RF Implementation cache.
static CachedHDBManager & instance(const std::string &hdbFile)