summaryrefslogtreecommitdiffstats
path: root/doc/src/snippets/code/src_script_qscriptengineagent.cpp
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2010-03-04 02:58:53 (GMT)
committerMartin Jones <martin.jones@nokia.com>2010-03-04 02:58:53 (GMT)
commit95639d8f27300533419da0c8dd22c0cc5e63543e (patch)
tree4e38f957e4226f5c5cc519c6ec5edfb65bfc59df /doc/src/snippets/code/src_script_qscriptengineagent.cpp
parent1287332bfc1dfb85c59c309d9f2bf37b970013c9 (diff)
parent4164a11032b64fe5a557515f283fa0e4c6d0260d (diff)
downloadQt-95639d8f27300533419da0c8dd22c0cc5e63543e.zip
Qt-95639d8f27300533419da0c8dd22c0cc5e63543e.tar.gz
Qt-95639d8f27300533419da0c8dd22c0cc5e63543e.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'doc/src/snippets/code/src_script_qscriptengineagent.cpp')
0 files changed, 0 insertions, 0 deletions
NTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ /* Support for dynamic loading of extension modules */ #include "Python.h" /* ./configure sets HAVE_DYNAMIC_LOADING if dynamic loading of modules is supported on this platform. configure will then compile and link in one of the dynload_*.c files, as appropriate. We will call a function in those modules to get a function pointer to the module's init function. */ #ifdef HAVE_DYNAMIC_LOADING #include "importdl.h" extern dl_funcptr _PyImport_GetDynLoadFunc(const char *name, const char *shortname, const char *pathname, FILE *fp); PyObject * _PyImport_LoadDynamicModule(name, pathname, fp) char *name; char *pathname; FILE *fp; { PyObject *m, *d, *s; char *lastdot, *shortname, *packagecontext; dl_funcptr p; if ((m = _PyImport_FindExtension(name, pathname)) != NULL) { Py_INCREF(m); return m; } lastdot = strrchr(name, '.'); if (lastdot == NULL) { packagecontext = NULL; shortname = name; } else { packagecontext = name; shortname = lastdot+1; } p = _PyImport_GetDynLoadFunc(name, shortname, pathname, fp); if (PyErr_Occurred()) return NULL; if (p == NULL) { PyErr_Format(PyExc_ImportError, "dynamic module does not define init function (init%.200s)", shortname); return NULL; } _Py_PackageContext = packagecontext; (*p)(); _Py_PackageContext = NULL; if (PyErr_Occurred()) return NULL; if (_PyImport_FixupExtension(name, pathname) == NULL) return NULL; m = PyDict_GetItemString(PyImport_GetModuleDict(), name); if (m == NULL) { PyErr_SetString(PyExc_SystemError, "dynamic module not initialized properly"); return NULL; } /* Remember the filename as the __file__ attribute */ d = PyModule_GetDict(m); s = PyString_FromString(pathname); if (s == NULL || PyDict_SetItemString(d, "__file__", s) != 0) PyErr_Clear(); /* Not important enough to report */ Py_XDECREF(s); if (Py_VerboseFlag) PySys_WriteStderr( "import %s # dynamically loaded from %s\n", name, pathname); Py_INCREF(m); return m; } #endif /* HAVE_DYNAMIC_LOADING */