Summary of possible changes to Group API

NOTE: The netcdf-hdf mailing list is no longer active. The list archives are made available for historical reasons.

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.



  • 2005 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdf-hdf archives: