diff options
author | Vasilii Chernov <vchernov@inr.ru> | 2016-02-16 16:30:40 +0100 |
---|---|---|
committer | Vasilii Chernov <vchernov@inr.ru> | 2016-02-16 16:30:40 +0100 |
commit | ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590 (patch) | |
tree | 8b05ef6a4585b0d585f82c468cf92048a05f79ee /pcilib/py.h | |
parent | fc80d8b64672785b4d9c7127e852ca9bf19c9194 (diff) | |
download | pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.gz pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.bz2 pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.tar.xz pcitool-ed9d8f285f4d81e1ce8bb5e7a5b9e471a73c1590.zip |
1. Add python thread initialization to pcilib_init_py()
-Fix pcilib_script_run_func() work in multithread mode
2. pcilib_close() - Move free_py() code after free views to make
view destructors work properly
3. Move script hash to pcilib_py_s
4. Move pcilib_get_logger() pcilib_get_logger_min_prio() and
pcilib_get_logger_argument() declarations to error.h
5. Refactor pcilib_get_value_as_pyobject pcilib_set_value_from_pyobject
to more unified form
6. Add more memory checks. Fix some string memory allocations.
7. Refactor pcilib_py_s member names.
8. Merge pcilib_script_read() and pcilib_script_write() to
pcilib_script_run_func()
9. Update test_pywrap views scripts
Diffstat (limited to 'pcilib/py.h')
-rw-r--r-- | pcilib/py.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pcilib/py.h b/pcilib/py.h index 09e2b87..9703706 100644 --- a/pcilib/py.h +++ b/pcilib/py.h @@ -4,6 +4,7 @@ #include "pcilib.h" typedef struct pcilib_py_s pcilib_py_t; +typedef void pcilib_py_object; #ifdef __cplusplus extern "C" { @@ -15,10 +16,9 @@ void pcilib_free_py(pcilib_t *ctx); int pcilib_py_init_script(pcilib_t *ctx, char* module_name, pcilib_access_mode_t *mode); -int pcilib_py_free_script(char* module_name); -int pcilib_script_read(pcilib_t *ctx, char* module_name, pcilib_value_t *val); -int pcilib_script_write(pcilib_t *ctx, char* module_name, pcilib_value_t *val); - +int pcilib_py_free_script(pcilib_t *ctx,char* module_name); +int pcilib_script_run_func(pcilib_t *ctx, char* module_name, + const char* func_name, pcilib_value_t *val); /*! * \brief Converts pcilib_value_t to PyObject. @@ -26,7 +26,7 @@ int pcilib_script_write(pcilib_t *ctx, char* module_name, pcilib_value_t *val); * \param val pointer to pcilib_value_t to convert * \return PyObject, containing value. NULL with error message, sended to errstream. */ -void* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val); +pcilib_py_object* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val, int *err); /*! @@ -36,7 +36,7 @@ void* pcilib_get_value_as_pyobject(pcilib_t* ctx, pcilib_value_t *val); * \param val initialized polymorphic value * \return 0 on success or memory error */ -int pcilib_set_value_from_pyobject(pcilib_t* ctx, void* pyVal, pcilib_value_t *val); +int pcilib_set_value_from_pyobject(pcilib_t* ctx, pcilib_value_t *val, pcilib_py_object* pyObjVal); #ifdef __cplusplus |