17 : mName(nam), mRequireClockEvents(false), mCanShareMemory(false), mState(Preparing),
18 mSimulationInput(nullptr)
45 if (!dir.
exists())
return false;
46 const char* filenames[] = {
":/include/saleae_parser.h",
":/src/saleae_parser.cpp",
47 ":/include/saleae_file.h",
":/src/saleae_file.cpp",
48 ":/include/saleae_directory.h",
":/src/saleae_directory.cpp",
nullptr};
49 for (
int i=0; filenames[i]; i++)
58 of.
write(
"#define STANDALONE_PARSER 1\n");
87 return std::vector<WaveEvent>();
90 bool SimulationEngineEventDriven::setSimulationInput(
SimulationInput* simInput)
96 bool SimulationEngineEventDriven::run(NetlistSimulatorController* controller, SimulationLogReceiver *logReceiver)
98 Q_UNUSED(logReceiver);
99 SimulationThread* thread =
new SimulationThread(controller,
mSimulationInput,
this);
105 bool SimulationEngineScripted::run(NetlistSimulatorController* controller, SimulationLogReceiver *logReceiver)
107 SimulationProcess* proc =
new SimulationProcess(controller,
this);
108 proc->log()->setLogReceiver(logReceiver);
131 std::vector<std::string> retval;
132 for (
auto it = begin(); it != end(); ++it)
133 retval.push_back((*it)->name());
139 for (
auto it = begin(); it != end(); ++it)
140 if ((*it)->name() == nam)
151 if ((*it)->name() == nam)
virtual std::vector< WaveEvent > get_simulation_events(u32 netId) const
SimulationEngineEventDriven(const std::string &nam)
void deleteFactory(const std::string nam)
std::vector< std::string > factoryNames() const
static SimulationEngineFactories * instance()
SimulationEngineFactory * factoryByName(const std::string nam) const
SimulationEngineFactory(const std::string &nam)
SimulationEngine(const std::string &nam)
std::string get_working_directory() const
virtual void set_engine_property(const std::string &key, const std::string &value)
virtual std::string get_engine_property(const std::string &key)
SimulationInput * mSimulationInput
bool install_saleae_parser(std::string dirname) const
std::unordered_map< std::string, std::string > mProperties
void set_working_directory(const std::string &workDir)
QString absoluteFilePath(const QString &fileName) const const
bool exists() const const
virtual bool open(QIODevice::OpenMode mode) override
QString fileName() const const
qint64 write(const char *data, qint64 maxSize)
QString fromStdString(const std::string &str)