static PyObject * _wrap_g_irepository_get_dependencies (PyGIRepository *self, PyObject *args, PyObject *kwargs) { static char *kwlist[] = { "namespace", NULL }; const char *namespace_; char **namespaces; PyObject *py_namespaces; gssize i; if (!PyArg_ParseTupleAndKeywords (args, kwargs, "s:Repository.get_dependencies", kwlist, &namespace_)) { return NULL; } py_namespaces = PyList_New (0); /* Returns NULL in case of no dependencies */ namespaces = g_irepository_get_dependencies (self->repository, namespace_); if (namespaces == NULL) { return py_namespaces; } for (i = 0; namespaces[i] != NULL; i++) { PyObject *py_namespace = PYGLIB_PyUnicode_FromString (namespaces[i]); PyList_Append (py_namespaces, py_namespace); Py_DECREF(py_namespace); } g_strfreev (namespaces); return py_namespaces; }
/* Return an array of all (transitive) versioned dependencies for namespace. * Returned strings are of the form "namespace-version". * Note: namespace must have already been loaded using a function such as * GObjectIntrospection::Repository.require() before calling this method. * * @param [String] namespace The namespace to get the dependencies for. * * @return [Array<String>] The dependencies. */ static VALUE rg_get_dependencies(VALUE self, VALUE rb_namespace) { GIRepository *repository; const gchar *namespace_; VALUE rb_dependencies; gchar **dependencies; gint i; repository = SELF(self); namespace_ = RVAL2CSTR(rb_namespace); dependencies = g_irepository_get_dependencies(repository, namespace_); rb_dependencies = rb_ary_new(); for (i = 0; dependencies[i]; i++) { rb_ary_push(rb_dependencies, CSTR2RVAL(dependencies[i])); } g_strfreev(dependencies); return rb_dependencies; }