static int PyKAdminIterator_init(PyKAdminIterator *self, PyObject *args, PyObject *kwds) { self->count = 0x0; self->index = 0x0; if (!IS_NULL(self->kadmin->server_handle)) { if (self->mode & iterate_principals) { kadm5_get_principals(self->kadmin->server_handle, self->match, &(self->names), &(self->count)); } else if (self->mode & iterate_policies) { kadm5_get_policies(self->kadmin->server_handle, self->match, &(self->names), &(self->count)); } } return 0; }
PyKAdminIterator *PyKAdminIterator_policy_iterator(PyKAdminObject *kadmin, char *match) { kadm5_ret_t retval = KADM5_OK; PyKAdminIterator *iter = PyObject_New(PyKAdminIterator, &PyKAdminIterator_Type); if (iter) { iter->count = 0x0; iter->index = 0x0; iter->kadmin = kadmin; Py_INCREF(kadmin); retval = kadm5_get_policies(kadmin->server_handle, match, &iter->names, &iter->count); if (retval != KADM5_OK) { PyKAdminError_raise_error(retval, "kadm5_get_policies"); } } return iter; }