示例#1
0
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;
}
示例#2
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;
}