bes  Updated for version 3.20.6
NCStr.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 _ncstr_h
40 #define _ncstr_h 1
41 
42 #include "Str.h"
43 
44 using namespace libdap ;
45 
46 class NCStr: public Str {
47 
48 public:
49  NCStr(const string &n, const string &d);
50  NCStr(const NCStr &rhs);
51  virtual ~NCStr();
52 
53  NCStr &operator=(const NCStr &rhs);
54 
55  virtual BaseType *ptr_duplicate();
56 
57  virtual bool read();
58 };
59 
60 /*
61  * $Log: NCStr.h,v $
62  * Revision 1.12 2005/04/19 23:16:18 jimg
63  * Removed client side parts; the client library is now in libnc-dap.
64  *
65  * Revision 1.11 2005/04/08 17:08:47 jimg
66  * Removed old 'virtual ctor' functions which have now been replaced by the
67  * factory class code in libdap++.
68  *
69  * Revision 1.10 2005/03/31 00:04:51 jimg
70  * Modified to use the factory class in libdap++ 3.5.
71  *
72  * Revision 1.9 2005/02/26 00:43:20 jimg
73  * Check point: This version of the CL can now translate strings from the
74  * server into char arrays. This is controlled by two things: First a
75  * compile-time directive STRING_AS_ARRAY can be used to remove/include
76  * this feature. When included in the code, only Strings associated with
77  * variables created by the translation process will be turned into char
78  * arrays. Other String variables are assumed to be single character strings
79  * (although there may be a bug with the way these are handled, see
80  * NCAccess::extract_values()).
81  *
82  * Revision 1.8 2005/01/26 23:25:51 jimg
83  * Implemented a fix for Sequence access by row number when talking to a
84  * 3.4 or earlier server (which contains a bug in is_end_of_rows()).
85  *
86  * Revision 1.7 2004/11/30 22:11:35 jimg
87  * I replaced the flatten_*() functions with a flatten() method in
88  * NCAccess. The default version of this method is in NCAccess and works
89  * for the atomic types; constructors must provide a specialization.
90  * Then I removed the code that copied the variables from vectors to
91  * lists. The translation code in NCConnect was modified to use the
92  * new method.
93  *
94  * Revision 1.6 2004/09/08 22:08:22 jimg
95  * More Massive changes: Code moved from the files that clone the netCDF
96  * function calls into NCConnect, NCAccess or nc_util.cc. Much of the
97  * translation functions are now methods. The netCDF type classes now
98  * inherit from NCAccess in addition to the DAP type classes.
99  *
100  * Revision 1.5 2003/12/08 18:06:37 edavis
101  * Merge release-3-4 into trunk
102  *
103  * Revision 1.4 2003/09/25 23:09:36 jimg
104  * Meerged from 3.4.1.
105  *
106  * Revision 1.3.4.1 2003/06/24 11:36:32 rmorris
107  * Removed #pragma interface directives for the OS X.
108  *
109  * Revision 1.3 2002/05/03 00:01:52 jimg
110  * Merged with release-3-2-7.
111  *
112  * Revision 1.2.4.1 2001/12/26 03:35:38 rmorris
113  * Removed redundant default arg's. VC++ doesn't allow default args to
114  * be specified twice.
115  *
116  * Revision 1.2 2000/10/06 01:22:02 jimg
117  * Moved the CVS Log entries to the ends of files.
118  * Modified the read() methods to match the new definition in the dap library.
119  * Added exception handlers in various places to catch exceptions thrown
120  * by the dap library.
121  *
122  * Revision 1.1 1999/07/28 00:22:44 jimg
123  * Added
124  *
125  * Revision 1.4 1999/05/07 23:45:32 jimg
126  * String --> string fixes
127  *
128  * Revision 1.3 1996/09/17 17:06:41 jimg
129  * Merge the release-2-0 tagged files (which were off on a branch) back into
130  * the trunk revision.
131  *
132  * Revision 1.2.4.2 1996/07/10 21:44:24 jimg
133  * Changes for version 2.06. These fixed lingering problems from the migration
134  * from version 1.x to version 2.x.
135  * Removed some (but not all) warning generated with gcc's -Wall option.
136  *
137  * Revision 1.2.4.1 1996/06/25 22:04:44 jimg
138  * Version 2.0 from Reza.
139  *
140  * Revision 1.2 1995/03/16 16:56:44 reza
141  * Updated for the new DAP. All the read_val mfunc. and their memory management
142  * are now moved to their parent class.
143  * Data transfers are now in binary while DAS and DDS are still sent in ASCII.
144  *
145  * Revision 1.1 1995/02/10 04:57:50 reza
146  * Added read and read_val functions.
147  */
148 
149 #endif
150 
libdap
Definition: BESDapFunctionResponseCache.h:35
NCStr
Definition: NCStr.h:46