struct oval_variable_model_iterator *oval_definition_model_get_variable_models(struct oval_definition_model *model) { if (model->bound_variable_models) return (struct oval_variable_model_iterator *) oval_collection_iterator(model->bound_variable_models); else return (struct oval_variable_model_iterator *) oval_collection_iterator_new(); }
struct oval_record_field_iterator *oval_sysent_get_record_fields(struct oval_sysent *sysent) { if (!sysent->record_fields) return (struct oval_record_field_iterator *) oval_collection_iterator_new(); return (struct oval_record_field_iterator *) oval_collection_iterator(sysent->record_fields); }
struct oval_record_field_iterator *oval_state_content_get_record_fields(struct oval_state_content *content) { if (!content->record_fields) return (struct oval_record_field_iterator *) oval_collection_iterator_new(); return (struct oval_record_field_iterator *) oval_collection_iterator(content->record_fields); }
struct oval_iterator *oval_string_map_keys(struct oval_string_map *map) { __attribute__nonnull__(map); struct oval_iterator *iterator = oval_collection_iterator_new(); struct _oval_string_map_entry *entry = map->entries; while (entry != NULL) { oval_collection_iterator_add(iterator, (void *)entry->key); entry = entry->next; } return iterator; }
struct oval_string_iterator *oval_definition_model_get_definitions_dependent_on_variable(struct oval_definition_model *model, struct oval_variable *variable) { __attribute__nonnull__(model); __attribute__nonnull__(variable); if (model->vardef_map == NULL) model->vardef_map = oval_definition_model_build_vardef_mapping(model); struct oval_string_map *def_list = (struct oval_string_map *) oval_string_map_get_value(model->vardef_map, oval_variable_get_id(variable)); return (struct oval_string_iterator *) (def_list != NULL ? oval_string_map_keys(def_list) : oval_collection_iterator_new()); }
struct oval_iterator *oval_string_map_values(struct oval_string_map *map) { __attribute__nonnull__(map); struct oval_iterator *iterator = oval_collection_iterator_new(); struct _oval_string_map_entry *entry = map->entries; int count; for (count = 0; entry != NULL; count++) { oval_collection_iterator_add(iterator, entry->item); entry = entry->next; } return iterator; }