3d07706c05
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
44 lines
946 B
C++
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);
|
|
}
|