HAL  v4.5.0-232-g8053ac4b3
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
data_table_entry.cpp
Go to the documentation of this file.
3 
4 namespace hal {
5  DataTableEntry::DataTableEntry(const QString& c, const QString& k, const QString t, const QString v)
6  : category(c), key(k), dataType(t), value(v)
7  {;}
8 
10  {
11  switch (ptype) {
12  case CategoryProperty: return category;
13  case KeyProperty: return key;
14  case TypeProperty: return dataType;
15  case ValueProperty: return value;
16  }
17 
18  return QString();
19  }
20 
22  {
23  return category.isEmpty() && key.isEmpty();
24  }
25 
26  DataTableEntry DataTableEntry::fromContainer(DataContainer* container, std::string category, std::string key)
27  {
28  if (!container->has_data(category, key)) return DataTableEntry();
29 
30  std::tuple<std::string,std::string> res = container->get_data(category,key);
31 
33  QString::fromStdString(std::get<0>(res)), QString::fromStdString(std::get<1>(res))});
34  }
35 
37  {
39  }
40 }
std::tuple< std::string, std::string > get_data(const std::string &category, const std::string &key) const
bool set_data(const std::string &category, const std::string &key, const std::string &data_type, const std::string &value, const bool log_with_info_level=false)
bool has_data(const std::string &category, const std::string &key) const
PropertyType
@ CategoryProperty
@ KeyProperty
@ TypeProperty
@ ValueProperty
static DataTableEntry fromContainer(DataContainer *container, std::string category, std::string key)
DataTableEntry(const QString &c=QString(), const QString &k=QString(), const QString t=QString(), const QString v=QString())
QString dataType
The data's key.
void toContainer(DataContainer *container) const
QString key
The data's category.
QString category
bool isNull() const
QString value
QString getPropertyValueByPropType(PropertyType ptype) const
Definition: defines.h:45
QString fromStdString(const std::string &str)
bool isEmpty() const const
std::string toStdString() const const