]> sigrok.org Git - libsigrokdecode.git/blobdiff - decode.c
Rename sigrokdecode_register_i2c() to register().
[libsigrokdecode.git] / decode.c
index 7bbcff336bf8badf353a392d258a8fc7e1a8bb23..d87f5d282f4061dee3bae7a40844c6daea6df7a8 100644 (file)
--- a/decode.c
+++ b/decode.c
@@ -31,8 +31,14 @@ int sigrokdecode_init(void)
        /* Py_Initialize() returns void and usually cannot fail. */
        Py_Initialize();
 
-       /* FIXME */
-       PySys_SetPath("libsigrokdecode/scripts");
+       /* Add some more search directories for convenience. */
+       /* FIXME: Check error code. */
+       PyRun_SimpleString(
+               "import sys;"
+               "sys.path.append('libsigrokdecode/scripts');"
+               "sys.path.append('../libsigrokdecode/scripts');"
+               "sys.path.append('/usr/local/share/sigrok');"
+               );
 
        return 0;
 }
@@ -45,6 +51,9 @@ int sigrokdecode_init(void)
  */
 int sigrokdecode_load_decoder_file(const char *name)
 {
+       /* QUICK HACK */
+       name = name;
+
        /* TODO */
        return 0;
 }
@@ -59,11 +68,10 @@ int sigrokdecode_load_decoder_file(const char *name)
  * @param outbuflen TODO
  * @return 0 upon success, non-zero otherwise.
  */
-int sigrokdecode_run_decoder(const char *decodername, uint8_t *inbuf,
-                            uint64_t inbuflen, uint8_t **outbuf,
-                            uint64_t *outbuflen)
+int sigrokdecode_run_decoder(const char *modulename, const char *decodername,
+                            uint8_t *inbuf, uint64_t inbuflen,
+                            uint8_t **outbuf, uint64_t *outbuflen)
 {
-       const char *decoder_filename = "transitioncounter"; /* FIXME */
        PyObject *py_name, *py_module, *py_func, *py_args;
        PyObject *py_value, *py_result;
        int ret;
@@ -83,7 +91,7 @@ int sigrokdecode_run_decoder(const char *decodername, uint8_t *inbuf,
                return -5;
 
        /* Get the name of the decoder module/file as Python string. */
-       if (!(py_name = PyString_FromString(decoder_filename))) {
+       if (!(py_name = PyString_FromString(modulename))) {
                PyErr_Print();
                return -6;
        }