bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
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 <libdap/Sequence.h>
43
44using namespace libdap ;
45
46class NCSequence: public Sequence {
47private:
48
49public:
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