bes  Updated for version 3.20.6
h5dmr.h File Reference

Data structure and retrieval processing header for the default option. More...

#include <H5Gpublic.h>
#include <H5Fpublic.h>
#include <H5Ipublic.h>
#include <H5Tpublic.h>
#include <H5Spublic.h>
#include <H5Apublic.h>
#include <H5public.h>
#include <DDS.h>
#include <D4Group.h>
#include <D4Attributes.h>
Include dependency graph for h5dmr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

bool breadth_first (hid_t, char *, libdap::D4Group *par_grp, const char *, bool)
 
string get_hardlink_dmr (hid_t, const std::string &)
 
void get_softlink (libdap::D4Group *par_grp, hid_t, const std::string &, int, size_t)
 
void map_h5_dset_hardlink_to_d4 (hid_t h5_objid, const std::string &full_path, libdap::BaseType *d4b, libdap::Structure *d4s, int flag)
 
void read_objects (libdap::D4Group *d4_grp, const std::string &varname, const std::string &filename, const hid_t)
 
void read_objects_base_type (libdap::D4Group *d4_grp, const std::string &varname, const std::string &filename, const hid_t)
 
void read_objects_structure (libdap::D4Group *d4_grp, const std::string &varname, const std::string &filename, const hid_t)
 

Detailed Description

Data structure and retrieval 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 describe and retrieve group/dataset 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 h5dmr.h.

Function Documentation

◆ breadth_first()

bool breadth_first ( hid_t  pid,
char *  gname,
D4Group *  par_grp,
const char *  fname,
bool  use_dimscale 
)

bool breadth_first(hid_t pid, char gname, DMR & dmr, D4Group par_grp, const char *fname,bool use_dimscale)

Parameters
pidgroup id
gnamegroup name (the absolute path from the root group)
dmrreference of DMR object
fnamethe HDF5 file name
use_dimscalewhether dimension scales are used.
Returns
0, if failed.
1, if succeeded.
Remarks
hard link is treated as a dataset.
will return error message to the DAP interface.
The reason to use breadth_first is that the DMR representation needs to show the dimension names and the variables under the group first and then the group names. So we use this search. In the future, we may just use the breadth_first search for all cases.??
See also
depth_first(hid_t pid, char *gname, DMR & dmr, const char *fname) in h5dds.cc

To keep track of soft links.

Definition at line 318 of file h5dmr.cc.

◆ get_softlink()

void get_softlink ( D4Group *  par_grp,
hid_t  h5obj_id,
const string &  oname,
int  index,
size_t  val_size 
)

will put softlink information into DAP4.

Parameters
par_grpDAP4 group
h5_obj_idobject id
onameobject name: absolute name of a group
indexLink index
val_sizevalue size
Returns
void
Remarks
In case of error, it throws an exception

Definition at line 1073 of file h5dmr.cc.