00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OVALCOLLECTION_H_
00009 #define OVALCOLLECTION_H_
00010
00011 struct oval_collection_item_s;
00012 struct oval_collection_s;
00013 struct oval_iterator_s;
00014 typedef void (*oval_item_free_func)(struct oval_collection_item_s*);
00015
00016 struct oval_collection_s *oval_collection_new();
00017 void oval_collection_free (struct oval_collection_s*);
00018 void oval_collection_free_items (struct oval_collection_s*, oval_item_free_func);
00019 void oval_collection_add (struct oval_collection_s*, struct oval_collection_item_s*);
00020 struct oval_iterator_s *oval_collection_iterator (struct oval_collection_s*);
00021 struct oval_iterator_s *oval_collection_iterator_new ();
00022 void oval_collection_iterator_add (struct oval_iterator_s*, struct oval_collection_item_s*);
00023 int oval_collection_iterator_has_more(struct oval_iterator_s*);
00024 struct oval_collection_item_s *oval_collection_iterator_next (struct oval_iterator_s*);
00025
00026 struct oval_iterator_string_s;
00027
00028 #endif