OPeNDAP Hyrax Back End Server (BES)  Updated for version 3.8.3
HDFCFStrField.h
Go to the documentation of this file.
1 // This file is part of the hdf4 data handler for the OPeNDAP data server.
3 // It retrieves the HDF4 DFNT_CHAR >1D array and then send to DAP as a DAP string array for the CF option.
4 // Authors: MuQun Yang <myang6@hdfgroup.org> Eunsoo Seo
5 // Copyright (c) 2010-2012 The HDF Group
7 
8 #ifndef HDFCFSTR_FIELD_H
9 #define HDFCFSTR_FIELD_H
10 
11 #include "Array.h"
12 #include "HDFCFUtil.h"
13 
14 using namespace libdap;
15 
16 class HDFCFStrField:public Array
17 {
18  public:
19  HDFCFStrField (int rank,
20  const std::string & filename,
21  bool is_vdata,
22  const int h4fd,
23  int32 fieldref,
24  int32 fieldorder,
25  const std::string & fieldname,
26  const std::string & n = "",
27  BaseType * v = 0):
28  Array (n, v),
29  rank (rank),
30  filename(filename),
31  is_vdata(is_vdata),
32  h4fd(h4fd),
33  fieldref(fieldref),
34  fieldorder(fieldorder),
35  fieldname(fieldname)
36  {
37  }
38  virtual ~ HDFCFStrField ()
39  {
40  }
41 
42  // Standard way to pass the coordinates of the subsetted region from the client to the handlers
43  int format_constraint (int *cor, int *step, int *edg);
44 
45  BaseType *ptr_duplicate ()
46  {
47  return new HDFCFStrField (*this);
48  }
49 
50  // Read the data.
51  virtual bool read ();
52 
53  private:
54 
55  // Field array rank
56  int rank;
57 
58  // file name
59  std::string filename;
60 
61  bool is_vdata;
62 
63  int h4fd;
64 
65  int32 fieldref;
66 
67  int32 fieldorder;
68 
69  // field name
70  std::string fieldname;
71 
72 };
73 
74 
75 #endif
static class NCMLUtil overview
HDFCFStrField(int rank, const std::string &filename, bool is_vdata, const int h4fd, int32 fieldref, int32 fieldorder, const std::string &fieldname, const std::string &n="", BaseType *v=0)
Definition: HDFCFStrField.h:19
BaseType * ptr_duplicate()
Definition: HDFCFStrField.h:45