1 // SALOME SALOMEGUI : implementation of desktop and GUI kernel
3 // Copyright (C) 2003 CEA/DEN, EDF R&D
7 // File : QAD_PyInterp_mono.cxx
8 // Author : Paul RASCLE, EDF
15 #include "QAD_PyInterp_mono.h"
16 #include "utilities.h"
21 * constructor : only one Python interpreter, shared within SALOME studies.
22 * calls initialize method defined in base class, which calls virtual methods
23 * initstate & initcontext redefined here.
25 QAD_PyInterp_mono::QAD_PyInterp_mono(): PyInterp_base()
29 QAD_PyInterp_mono::~QAD_PyInterp_mono()
35 * When SALOME uses mono Python interpreter feature,
36 * every study has its own context (dictionnary) but shares builtins
37 * and all the modules (sys, ...) with other studies.
38 * A module imported in a study is seen in another study (pros ans cons !).
41 void QAD_PyInterp_mono::initState()
43 _tstate = PyThreadState_Get();
44 PySys_SetArgv(PyInterp_base::_argc,PyInterp_base::_argv); // initialize sys.argv
47 void QAD_PyInterp_mono::initContext()
49 _g = PyDict_New(); // create interpreter dictionnary context
50 PyObject *bimod = PyImport_ImportModule("__builtin__");
51 PyDict_SetItemString(_g, "__builtins__", bimod);