OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
h5das.h File Reference

Data attributes processing header for the default option. More...

#include <hdf5.h>
#include <DAS.h>
#include <Str.h>
Include dependency graph for h5das.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void 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. More...
 
void depth_first (hid_t, const char *, DAS &)
 depth first traversal of hdf5 file attributes. More...
 
void find_gloattr (hid_t file, DAS &das)
 will fill in attributes of the root group into one DAS table. More...
 
string get_hardlink (hid_t, const string &)
 
void get_softlink (DAS &, hid_t, const char *, const string &, int, size_t)
 
void read_comments (DAS &das, const string &varname, hid_t oid)
 
void read_objects (DAS &das, const string &varname, hid_t dset, int num_attr)
 

Detailed Description

Data attributes processing header for the default option.

This file is part of h5_dap_handler, A C++ implementation of the DAP handler for HDF5 data.

It defines functions that generate data attributes from HDF5 files.

Author
Hyo-Kyung Lee hyokl.nosp@m.ee@h.nosp@m.dfgro.nosp@m.up.o.nosp@m.rg
Muqun Yang ymuqu.nosp@m.n@hd.nosp@m.fgrou.nosp@m.p.or.nosp@m.g

Definition in file h5das.h.

Function Documentation

void 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

Parameters
dasDAS object: reference
gnameabsolute group pathname of an object
onamename of object
is_groupindicates whether it's a dataset or group
Returns
nothing

Definition at line 916 of file h5das.cc.

References NULL.

Referenced by depth_first().

void 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.

Parameters
piddataset id(group id)
gnamegroup name(absolute name from the root group)
dasreference of DAS object
Returns
void

To keep track of soft links.

Definition at line 60 of file h5das.cc.

References add_group_structure_info(), depth_first(), DODS_NAMELEN, get_hardlink(), HDF5PathFinder::get_name(), get_softlink(), NULL, read_comments(), and read_objects().

Referenced by depth_first(), HDF5RequestHandler::hdf5_build_das(), HDF5RequestHandler::hdf5_build_data(), and HDF5RequestHandler::hdf5_build_dds().

Here is the call graph for this function:

void find_gloattr ( hid_t  file,
DAS &  das 
)

will fill in attributes of the root group into one DAS table.

The attributes are treated as global attributes.

Parameters
dasDAS object reference
fileHDF5 file id
Exceptions
msgstring of error message to the dods interface.
Returns
void

Definition at line 683 of file h5das.cc.

References get_hardlink(), and read_objects().

Referenced by HDF5RequestHandler::hdf5_build_das(), HDF5RequestHandler::hdf5_build_data(), and HDF5RequestHandler::hdf5_build_dds().

Here is the call graph for this function:

string get_hardlink ( hid_t  ,
const string &   
)
void get_softlink ( DAS &  ,
hid_t  ,
const char *  ,
const string &  ,
int  ,
size_t   
)
void read_comments ( DAS &  das,
const string &  varname,
hid_t  oid 
)
void read_objects ( DAS &  das,
const string &  varname,
hid_t  dset,
int  num_attr 
)