rockbox/utils/regtools/qeditor/analyser.cpp
Amaury Pouly 3d07706c05 regtools/qeditor: rewrite soc handling
The code was a mess with respect to soc handling: some code just plain copied
the SoC descriptor which are big objects, some was using indexes. The new soc
factor out everything in a few classes which hide these ugly details so that
descriptors are never copied.

Change-Id: I17af8b47f997a528b58221621389d42d24fded93
2014-02-10 23:14:26 +01:00

44 lines
946 B
C++

#include "analyser.h"
Analyser::Analyser(const SocRef& 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);
}