41 lines
1.1 KiB
C++
41 lines
1.1 KiB
C++
#include "hurricane/DataBase.h"
|
|
#include "hurricane/Library.h"
|
|
#include "hurricane/Technology.h"
|
|
using namespace Hurricane;
|
|
|
|
#include "crlcore/GraphicsParser.h"
|
|
#include "crlcore/SymbolicTechnologyParser.h"
|
|
using namespace CRL;
|
|
|
|
#include "ATechnology.h"
|
|
#include "ATechnologyXmlParser.h"
|
|
|
|
#include "AEnv.h"
|
|
|
|
void AEnv::create(const char* technoFilePath, const char* graphicFilePath, const char* analogTechnoFilePath) {
|
|
DataBase* db = getDataBase();
|
|
if (db) {
|
|
throw Error("");
|
|
}
|
|
db = DataBase::create();
|
|
SymbolicTechnologyParser::load(db, technoFilePath);
|
|
GraphicsParser::load(graphicFilePath);
|
|
|
|
Library* rootLibrary = Library::create(db, Name("RootLibrary"));
|
|
Technology* techno = db->getTechnology();
|
|
ATechnologyXmlParser::parse(analogTechnoFilePath, techno);
|
|
}
|
|
|
|
ATechnology* AEnv::getATechnology() {
|
|
DataBase* db = getDataBase();
|
|
if (!db) {
|
|
throw Error("");
|
|
}
|
|
Technology* technology = db->getTechnology();
|
|
if (!technology) {
|
|
throw Error("");
|
|
}
|
|
ATechnology* atechnology = ATechnology::getATechnology(technology);
|
|
return atechnology;
|
|
}
|