20 #ifndef HURRICANE_DATA_BASE
21 #define HURRICANE_DATA_BASE
25 #include "hurricane/DBo.h"
26 #include "hurricane/DbU.h"
47 public:
enum Flags { NoFlags = 0
49 , WarnCreateLib=(1<<2) };
67 protected:
virtual void _postCreate();
69 protected:
virtual void _preDestroy();
71 public:
virtual void _toJson(JsonWriter*)
const;
72 public:
virtual string _getTypeName()
const {
return _TName(
"DataBase");};
73 public:
virtual string _getString()
const;
74 public:
virtual Record* _getRecord()
const;
76 public:
void _setTechnology(
Technology* technology) {_technology = technology;};
77 public:
void _setRootLibrary(
Library* rootLibrary) {_rootLibrary = rootLibrary;};
78 public:
void _setCellLoader(
function<
Hurricane::Cell*(
string)> loader) { _cellLoader=loader; };
87 public:
Library* getLibrary(
string,
unsigned int flags);
88 public:
Cell* getCell(
string,
unsigned int flags);
89 public:
Cell* getCell(
string);
101 class JsonDataBase :
public JsonDBo {
104 public:
static void initialize();
105 public: JsonDataBase(
unsigned long flags);
106 public:
virtual string getTypeName()
const;
107 public:
virtual JsonDataBase* clone(
unsigned long)
const;
The model (API).
Definition: Cell.h:64
DataBase object root class (API).
Definition: DBo.h:45
The whole DataBase (API).
Definition: DataBase.h:40
Technology * getTechnology() const
Definition: DataBase.h:85
Library * getRootLibrary() const
Definition: DataBase.h:86
static DataBase * getDB()
static DataBase * create()
JSON Parser Stack.
Definition: JsonObject.h:249
Library description (API)
Definition: Library.h:38
Technological rules description (API).
Definition: Technology.h:62
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5