bes
Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDFDMRArray_SDS.h
1
2
// This file is part of the hdf4 data handler for the OPeNDAP data server.
3
// It retrieves HDF4 SDS values for a direct DMR-mapping DAP4 response.
4
// Each SDS will be mapped to a DAP variable.
5
6
// Authors: Kent Yang <myang6@hdfgroup.org>
7
// Copyright (c) The HDF Group
9
10
#ifndef HDFDMRARRAY_SDS_H
11
#define HDFDMRARRAY_SDS_H
12
13
#include "mfhdf.h"
14
#include "hdf.h"
15
16
#include <libdap/Array.h>
17
18
class
HDFDMRArray_SDS:
public
libdap::Array
19
{
20
public
:
21
HDFDMRArray_SDS (
const
std::string& filename, int32 objref, int32 rank,
unsigned
int
dtype_size,
const
std::string & n =
""
, libdap::BaseType * v =
nullptr
):
22
Array (n, v),
23
filename(filename),
24
sds_ref (objref),
25
sds_rank (rank),
26
sds_typesize(dtype_size) {
27
}
28
~ HDFDMRArray_SDS ()
override
=
default
;
29
30
// Standard way of DAP handlers to pass the coordinates of the subsetted region to the handlers
31
// Return the number of elements to read.
32
int
format_constraint (
int
*cor,
int
*step,
int
*edg);
33
34
libdap::BaseType *ptr_duplicate ()
override
35
{
36
return
new
HDFDMRArray_SDS (*
this
);
37
}
38
39
bool
read ()
override
;
40
41
private
:
42
43
std::string filename;
44
int32 sds_ref;
45
46
// SDS array rank
47
int32 sds_rank ;
48
49
unsigned
int
sds_typesize ;
50
51
52
};
53
54
55
#endif
modules
hdf4_handler
HDFDMRArray_SDS.h
Generated by
1.13.2