]> AND Private Git Repository - blast.git/blobdiff - AbstractBlock.cpp
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
started to include patterns in implementation
[blast.git] / AbstractBlock.cpp
index d316800e91e43534ed43d2d6ef5bbd3b7bca723f..c71b2e0c508e46719659e2e15ba8982a69cdaf66 100644 (file)
@@ -44,6 +44,21 @@ bool AbstractBlock::isGroupBlock() {
   return false;\r
 }\r
 \r
+bool AbstractBlock::isTopGroupBlock() {  \r
+  return false;\r
+}\r
+\r
+bool AbstractBlock::isSourceBlock() {\r
+  return false;\r
+}\r
+\r
+bool AbstractBlock::isGeneratorBlock() {\r
+  foreach(AbstractInterface* iface, inputs) {\r
+    if (iface->getPurpose() == AbstractInterface::Data) return false;\r
+  }\r
+  return true;\r
+}\r
+\r
 void AbstractBlock::addParameter(BlockParameter *param) {\r
   params.append(param);\r
 }\r
@@ -119,6 +134,36 @@ QList<AbstractInterface *> AbstractBlock::getInterfaces() {
   return list;\r
 }\r
 \r
+QList<AbstractInterface *> AbstractBlock::getDataInputs() {\r
+  QList<AbstractInterface *> list;\r
+  foreach(AbstractInterface* iface, inputs) {\r
+    if (iface->getPurpose() == AbstractInterface::Data) {\r
+      list.append(iface);\r
+    }\r
+  }\r
+  return list;\r
+}\r
+\r
+QList<AbstractInterface *> AbstractBlock::getControlInputs() {\r
+  QList<AbstractInterface *> list;\r
+  foreach(AbstractInterface* iface, inputs) {\r
+    if (iface->getPurpose() == AbstractInterface::Control) {\r
+      list.append(iface);\r
+    }\r
+  }\r
+  return list;\r
+}\r
+\r
+QList<AbstractInterface *> AbstractBlock::getControlOutputs() {\r
+  QList<AbstractInterface *> list;\r
+  foreach(AbstractInterface* iface, outputs) {\r
+    if (iface->getPurpose() == AbstractInterface::Control) {\r
+      list.append(iface);\r
+    }\r
+  }\r
+  return list;\r
+}\r
+\r
 AbstractInterface* AbstractBlock::getIfaceFromName(QString name) {\r
 \r
   foreach(AbstractInterface* iface, inputs) {\r