bes  Updated for version 3.20.6
NCSequence.h
1 
2 // -*- mode: c++; c-basic-offset:4 -*-
3 
4 // This file is part of nc_handler, a data handler for the OPeNDAP data
5 // server.
6 
7 // Copyright (c) 2002,2003 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 
27 // (c) COPYRIGHT URI/MIT 1994-1996
28 // Please read the full copyright statement in the file COPYRIGHT.
29 //
30 // Authors:
31 // reza Reza Nekovei (reza@intcomm.net)
32 
33 // netCDF sub-class implementation for NCByte,...NCGrid.
34 // The files are patterned after the subcalssing examples
35 // Test<type>.c,h files.
36 //
37 // ReZa 1/12/95
38 
39 #ifndef _ncsequence_h
40 #define _ncsequence_h 1
41 
42 #include <Sequence.h>
43 
44 using namespace libdap ;
45 
46 class NCSequence: public Sequence {
47 private:
48 
49 public:
50  NCSequence(const string &n, const string &d);
51  NCSequence(const NCSequence &rhs);
52  virtual ~NCSequence();
53 
54  NCSequence &operator=(const NCSequence &rhs);
55  virtual BaseType *ptr_duplicate();
56 
57  virtual void transfer_attributes(AttrTable *at);
58 };
59 
60 /*
61  * $Log: NCSequence.h,v $
62  * Revision 1.14 2005/04/19 23:16:18 jimg
63  * Removed client side parts; the client library is now in libnc-dap.
64  *
65  * Revision 1.13 2005/04/11 18:38:20 jimg
66  * Fixed a problem with NCSequence where nested sequences were not flagged
67  * but instead were translated. The extract_values software cannot process a
68  * nested sequence yet. Now the code inserts an attribute that notes that a
69  * nested sequence has been elided.
70  *
71  * Revision 1.12 2005/04/08 17:08:47 jimg
72  * Removed old 'virtual ctor' functions which have now been replaced by the
73  * factory class code in libdap++.
74  *
75  * Revision 1.11 2005/03/31 00:04:51 jimg
76  * Modified to use the factory class in libdap++ 3.5.
77  *
78  * Revision 1.10 2005/01/29 00:20:29 jimg
79  * Checkpoint: CEs ont he command line/ncopen() almost work.
80  *
81  * Revision 1.9 2005/01/26 23:25:51 jimg
82  * Implemented a fix for Sequence access by row number when talking to a
83  * 3.4 or earlier server (which contains a bug in is_end_of_rows()).
84  *
85  * Revision 1.8 2004/11/30 22:11:35 jimg
86  * I replaced the flatten_*() functions with a flatten() method in
87  * NCAccess. The default version of this method is in NCAccess and works
88  * for the atomic types; constructors must provide a specialization.
89  * Then I removed the code that copied the variables from vectors to
90  * lists. The translation code in NCConnect was modified to use the
91  * new method.
92  *
93  * Revision 1.7 2004/11/05 17:13:57 jimg
94  * Added code to copy the BaseType pointers from the vector container into
95  * a list. This will enable more efficient translation software to be
96  * written.
97  *
98  * Revision 1.6 2004/10/22 21:51:34 jimg
99  * More massive changes: Translation of Sequences now works so long as the
100  * Sequence contains only atomic types.
101  *
102  * Revision 1.5 2004/09/08 22:08:22 jimg
103  * More Massive changes: Code moved from the files that clone the netCDF
104  * function calls into NCConnect, NCAccess or nc_util.cc. Much of the
105  * translation functions are now methods. The netCDF type classes now
106  * inherit from NCAccess in addition to the DAP type classes.
107  *
108  * Revision 1.4 2003/12/08 18:06:37 edavis
109  * Merge release-3-4 into trunk
110  *
111  * Revision 1.3 2003/09/25 23:09:36 jimg
112  * Meerged from 3.4.1.
113  *
114  * Revision 1.2.8.1 2003/06/24 11:36:32 rmorris
115  * Removed #pragma interface directives for the OS X.
116  *
117  * Revision 1.2 2000/10/06 01:22:02 jimg
118  * Moved the CVS Log entries to the ends of files.
119  * Modified the read() methods to match the new definition in the dap library.
120  * Added exception handlers in various places to catch exceptions thrown
121  * by the dap library.
122  *
123  * Revision 1.1 1999/07/28 00:22:44 jimg
124  * Added
125  *
126  * Revision 1.4 1999/05/07 23:45:32 jimg
127  * String --> string fixes
128  *
129  * Revision 1.3 1996/09/17 17:06:39 jimg
130  * Merge the release-2-0 tagged files (which were off on a branch) back into
131  * the trunk revision.
132  *
133  * Revision 1.2.4.2 1996/07/10 21:44:19 jimg
134  * Changes for version 2.06. These fixed lingering problems from the migration
135  * from version 1.x to version 2.x.
136  * Removed some (but not all) warning generated with gcc's -Wall option.
137  *
138  * Revision 1.2.4.1 1996/06/25 22:04:42 jimg
139  * Version 2.0 from Reza.
140  *
141  * Revision 1.2 1995/03/16 16:56:42 reza
142  * Updated for the new DAP. All the read_val mfunc. and their memory management
143  * are now moved to their parent class.
144  * Data transfers are now in binary while DAS and DDS are still sent in ASCII.
145  *
146  * Revision 1.1 1995/02/10 04:57:45 reza
147  * Added read and read_val functions.
148  */
149 
150 #endif
NCSequence
Definition: NCSequence.h:46
libdap
Definition: BESDapFunctionResponseCache.h:35