HOPS
HOPS class reference
Static Public Member Functions | List of all members
hops::MHO_SubprocessPyControlEvaluator Class Reference

No-embed (subprocess) evaluator for Python control files. Exposes the SAME functor signature MHO_FringePass expects as the embedded MHO_PyControlEvaluator::Evaluate, but runs the user's control script in a separate python3 process (no libpython linked) via python -m hops_control <request.json>. More...

#include <MHO_SubprocessPyControlEvaluator.hh>

Static Public Member Functions

static bool Evaluate (MHO_ParameterStore *paramStore, const mho_json &control_format, mho_json &control_statements)
 Evaluate a Python control script in a subprocess and populate control_statements. More...
 

Detailed Description

No-embed (subprocess) evaluator for Python control files. Exposes the SAME functor signature MHO_FringePass expects as the embedded MHO_PyControlEvaluator::Evaluate, but runs the user's control script in a separate python3 process (no libpython linked) via python -m hops_control <request.json>.

Author
J. Barrett - barre.nosp@m.ttj@.nosp@m.mit.e.nosp@m.du

The pass-info construction and the condition-filter / set-string post-processing are the SAME pybind-free logic the embedded path uses (MHO_ControlEvaluatorSupport), so the two backends produce identical control_statements for a given control file + pass.

Member Function Documentation

◆ Evaluate()

bool hops::MHO_SubprocessPyControlEvaluator::Evaluate ( MHO_ParameterStore paramStore,
const mho_json control_format,
mho_json control_statements 
)
static

Evaluate a Python control script in a subprocess and populate control_statements.

Parameters
paramStorecurrent pass parameter store (provides the control-file path and pass metadata).
control_formatcanonical control-format dict.
control_statementsoutput: applicable statements.
Returns
true on success, false if the subprocess could not be run or the Python evaluation reported an error.

The documentation for this class was generated from the following files: