summaryrefslogtreecommitdiffstats
path: root/utils/regtools/qeditor/analyser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/regtools/qeditor/analyser.cpp')
-rw-r--r--utils/regtools/qeditor/analyser.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/utils/regtools/qeditor/analyser.cpp b/utils/regtools/qeditor/analyser.cpp
new file mode 100644
index 0000000000..1ab213872b
--- /dev/null
+++ b/utils/regtools/qeditor/analyser.cpp
@@ -0,0 +1,44 @@
+#include "analyser.h"
+
+Analyser::Analyser(const soc_t& soc, IoBackend *backend)
+ :m_soc(soc), m_io_backend(backend)
+{
+}
+
+Analyser::~Analyser()
+{
+}
+
+AnalyserFactory::AnalyserFactory(bool _register)
+{
+ if(_register)
+ RegisterAnalyser(this);
+}
+
+AnalyserFactory::~AnalyserFactory()
+{
+}
+
+QVector< AnalyserFactory * > AnalyserFactory::m_factories;
+
+QStringList AnalyserFactory::GetAnalysersForSoc(const QString& soc_name)
+{
+ QStringList list;
+ for(int i = 0; i < m_factories.size(); i++)
+ if(m_factories[i]->SupportSoc(soc_name))
+ list.append(m_factories[i]->GetName());
+ return list;
+}
+
+AnalyserFactory *AnalyserFactory::GetAnalyserByName(const QString& name)
+{
+ for(int i = 0; i < m_factories.size(); i++)
+ if(m_factories[i]->GetName() == name)
+ return m_factories[i];
+ return 0;
+}
+
+void AnalyserFactory::RegisterAnalyser(AnalyserFactory *factory)
+{
+ m_factories.append(factory);
+}