Hi all, We need to start thinking about what the new group API will look like. Here's a quick draft of a high level view from the changes I can think of. Please give me feedback about your ideas for this API. I'm also going to write up a draft for the API renaming proposal, which will affect the changes to the group API, but shouldn't depend on it. Quincey ======================================================================== NOTE #1: These changes are mainly ramifications from the addition of an [optional] index that allows applications to access objects in a group according to the order they were created. NOTE #2: We still need to decide on scheme for re-naming existing functions when their parameters change. Existing API routine changes: ============================ Old Name: Purpose: Change: ========= ======== ====== H5Gcreate Create new group Will need to drop 'size_hint' parameter and acquire "group creation" and "group access" property lists H5Gopen Open an existing Add "group access" property group list H5Gclose Close a group ID <none> H5Gset_comment Set a "comment" on a <none> (deprecated) group H5Gget_comment Get the "comment" on a <none> (deprecated) group H5Glink/H5Glink2 Creates a link to an <none> object in another group by name in the other group H5Gmode/H5Gmove2 Renames a link to an <none> object in current group by name H5Giterate Iterate through objects Change to allow choice of which in a group, with user index to use (and direction?). callback routine H5Gget_objinfo Retrieve information Update H5G_stat_t with any new about an object in a information. Possibly add group H5Gget_objinfo_by_idx routine? Absorb H5Gget_<foo>_by_idx routines? H5Gget_num_objs Retrieve number of <none> objects in a group H5Gget_objname_by_idx Retrieve name of n'th Needs a "type of index" object in a group, parameter, in order to choose according to link name index to use to compute the order "n'th object" of. H5Gget_objtype_by_idx Retrieve type of n'th Needs a "type of index" object in a group, parameter, in order to choose according to link name index to use to compute the order "n'th object" of. Added API routines: ================== Name: Purpose: ========= ======= H5Glink_order Create a link to an object in another group by creation order in the other group. H5Gunlink_order Remove the n'th object (by creation order) in a group. H5Gchange_time Change the creation time of an object in a group, potentially changing its position in creation order. H5Gget_linkval_by_idx Retrieve the link information about a soft link, using the order with an index. H5Gopen_by_idx Open the n'th object in a group, accordding to the order with an index. New property lists: ================== Name: Purpose: ===== ======= "Group Creation" Control various parameters of a group, like it's B-tree properties and whether it has an index allowing it track the order that objects are created. Possibly other parameters as well. "Group Access" Control various parameters of accessing a group, like possibly the default index to use for various operations, etc.