bes
Updated for version 3.20.6
|
Data attributes processing source. More...
Go to the source code of this file.
Functions | |
void | add_group_structure_info (DAS &das, const char *gname, char *oname, bool is_group) |
void | depth_first (hid_t pid, const char *gname, DAS &das) |
void | find_gloattr (hid_t file, DAS &das) |
string | get_hardlink (hid_t pgroup, const string &oname) |
void | get_softlink (DAS &das, hid_t pgroup, const char *gname, const string &oname, int index, size_t val_size) |
void | read_comments (DAS &das, const string &varname, hid_t oid) |
void | read_objects (DAS &das, const string &varname, hid_t oid, int num_attr) |
Variables | |
HDF5PathFinder | paths |
A variable for remembering visited paths to break cyclic HDF5 groups. More... | |
Data attributes processing source.
This file is part of h5_dap_handler, a C++ implementation of the DAP handler for HDF5 data.
This is the HDF5-DAS that extracts DAS class descriptors converted from HDF5 attribute of an hdf5 data file.
Definition in file h5das.cc.
add_group_structure_info | ( | DAS & | das, |
const char * | gname, | ||
char * | oname, | ||
bool | is_group | ||
) |
will insert group information in a structure format into DAS table.
This function adds a special attribute called "HDF5_ROOT_GROUP" if the gname is "/". If is_group is true, it keeps appending new attribute table called oname under the gname path. If is_group is false, it appends a string attribute called oname. For details, see the HDF5-DAP2 Mapping Technical Note from [1].
[1] http://www.hdfgroup.org/projects/opendap/opendap_docs.html
das | DAS object: reference |
gname | absolute group pathname of an object |
oname | name of object |
is_group | indicates whether it's a dataset or group |
depth_first | ( | hid_t | pid, |
const char * | gname, | ||
DAS & | das | ||
) |
depth first traversal of hdf5 file attributes.
This function will walk through an hdf5 group using depth- first approach to obtain all the group and dataset attributes of an hdf5 file. During the process of the depth first search, DAS table will be filled. In case of errors, an exception will be thrown.
pid | dataset id(group id) |
gname | group name(absolute name from the root group) |
das | reference of DAS object |
To keep track of soft links.
find_gloattr | ( | hid_t | file, |
DAS & | das | ||
) |
get_hardlink | ( | hid_t | h5obj_id, |
const string & | oname | ||
) |
will put hardlink information into a DAS table.
pgroup | object id |
oname | object name: absolute name of a group |
will put hardlink information into a DAS table.
h5obj_id | object id |
oname | object name: absolute name of a group |
read_comments | ( | DAS & | das, |
const string & | varname, | ||
hid_t | oid | ||
) |
void read_objects | ( | DAS & | das, |
const string & | varname, | ||
hid_t | oid, | ||
int | num_attr | ||
) |
will fill in attributes of a dataset or a group into one DAS table.
das | DAS object: reference |
varname | absolute name of an HDF5 dataset or an HDF5 group |
oid | HDF5 object id(a handle) |
num_attr | number of attributes. |
HDF5PathFinder paths |