cc_int32 ccs_list_iterator_clone (ccs_list_iterator_t  in_list_iterator,
                                  ccs_list_iterator_t *out_list_iterator)
{
    cc_int32 err = ccNoError;
    ccs_list_iterator_t list_iterator = NULL;
    
    if (!in_list_iterator ) { err = cci_check_error (ccErrBadParam); }
    if (!out_list_iterator) { err = cci_check_error (ccErrBadParam); }
    
    if (!err) {
        err = ccs_list_iterator_new (&list_iterator, 
                                     in_list_iterator->list, 
                                     in_list_iterator->client_pipe);
    }
    
    if (!err) {
        list_iterator->current = in_list_iterator->current;

        *out_list_iterator = list_iterator;
        list_iterator = NULL;
    }
    
    ccs_list_iterator_release (list_iterator);
    
    return cci_check_error (err);    
}
cc_int32 ccs_list_new_iterator (ccs_list_t           io_list,
                                ccs_pipe_t           in_client_pipe,
                                ccs_list_iterator_t *out_list_iterator)
{
    return cci_check_error (ccs_list_iterator_new (out_list_iterator, 
                                                   io_list, 
                                                   in_client_pipe));
}
Beispiel #3
0
cc_int32 ccs_list_new_iterator (ccs_list_t           io_list,
                                ccs_list_iterator_t *out_list_iterator)
{
    return cci_check_error (ccs_list_iterator_new (out_list_iterator, io_list));
}