bes  Updated for version 3.20.6
FFGrid.cc
1 
2 // -*- mode: c++; c-basic-offset:4 -*-
3 
4 // This file is part of ff_handler a FreeForm API handler for the OPeNDAP
5 // DAP2 data server.
6 
7 // Copyright (c) 2005 OPeNDAP, Inc.
8 // Author: James Gallagher <jgallagher@opendap.org>
9 //
10 // This is free software; you can redistribute it and/or modify it under the
11 // terms of the GNU Lesser General Public License as published by the Free
12 // Software Foundation; either version 2.1 of the License, or (at your
13 // option) any later version.
14 //
15 // This software is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18 // License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
23 //
24 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25 
26 // (c) COPYRIGHT URI/MIT 1997-98
27 // Please read the full copyright statement in the file COPYRIGHT.
28 //
29 // Authors: reza (Reza Nekovei)
30 
31 // FreeFrom sub-class implementation for FFByte,...FFGrid.
32 // The files are patterned after the subcalssing examples
33 // Test<type>.c,h files.
34 //
35 // ReZa 6/18/97
36 
37 #include "config_ff.h"
38 
39 static char rcsid[] not_used ={"$Id$"};
40 
41 
42 #include "FFGrid.h"
43 #include "util.h"
44 
45 // protected
46 
47 BaseType *
48 FFGrid::ptr_duplicate()
49 {
50  return new FFGrid(*this);
51 }
52 
53 // public
54 
55 FFGrid::FFGrid(const string &n, const string &d) : Grid(n, d)
56 {
57 }
58 
59 FFGrid::~FFGrid()
60 {
61 }
62 
63 bool
64 FFGrid::read()
65 {
66  if (read_p()) // nothing to do
67  return true;
68 
69  // read array elements
70  array_var()->read();
71 
72  // read maps elements
73  Grid::Map_iter i = map_begin();
74  while (i != map_end())
75  (*i++)->read();
76 
77  set_read_p(true);
78 
79  return true;
80 }
81 
86 void FFGrid::transfer_attributes(AttrTable *at)
87 {
88  if (at) {
89  array_var()->transfer_attributes(at);
90 
91  Map_iter map = map_begin();
92  while (map != map_end()) {
93  (*map)->transfer_attributes(at);
94  map++;
95  }
96  }
97 }
98 
99 // $Log: FFGrid.cc,v $
100 // Revision 1.9 2003/02/10 23:01:52 jimg
101 // Merged with 3.2.5
102 //
103 // Revision 1.8.2.1 2002/12/18 23:30:42 pwest
104 // gcc3.2 compile corrections, mainly regarding the using statement
105 //
106 // Revision 1.8 2000/10/11 19:37:56 jimg
107 // Moved the CVS log entries to the end of files.
108 // Changed the definition of the read method to match the dap library.
109 // Added exception handling.
110 // Added exceptions to the read methods.
111 //
112 // Revision 1.7 1999/05/27 17:02:22 jimg
113 // Merge with alpha-3-0-0
114 //
115 // Revision 1.6.2.1 1999/05/20 21:41:07 edavis
116 // Fix spelling of COPYRIGHT and remove some #if 0 stuff.
117 //
118 // Revision 1.6 1999/05/04 02:55:36 jimg
119 // Merge with no-gnu
120 //
121 // Revision 1.5 1998/08/14 19:41:23 jimg
122 // Removed unused bool variable.
123 //
124 // Revision 1.4 1998/08/13 20:24:26 jimg
125 // Fixed read mfunc semantics
126 //
127 // Revision 1.3 1998/04/21 17:13:50 jimg
128 // Fixes for warnings, etc
129 //
130 // Revision 1.2 1998/04/16 18:11:08 jimg
131 // Sequence support added by Reza
FFGrid::transfer_attributes
virtual void transfer_attributes(AttrTable *at)
Definition: FFGrid.cc:86
FFGrid
Definition: FFGrid.h:51