bes  Updated for version 3.20.6
NCUrl.cc
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 #include "config_nc.h"
40 
41 static char rcsid[] not_used ={"$Id$"};
42 
43 #include <InternalErr.h>
44 #include "NCUrl.h"
45 
46 NCUrl::NCUrl(const string &n, const string &d) : Url(n, d)
47 {
48 }
49 
50 NCUrl::NCUrl(const NCUrl &rhs) : Url(rhs)
51 {
52 }
53 
54 NCUrl::~NCUrl()
55 {
56 }
57 
58 NCUrl &
59 NCUrl::operator=(const NCUrl &rhs)
60 {
61  if (this == &rhs)
62  return *this;
63 
64  dynamic_cast<NCUrl&>(*this) = rhs;
65 
66  return *this;
67 }
68 
69 
70 BaseType *
71 NCUrl::ptr_duplicate()
72 {
73  return new NCUrl(*this);
74 }
75 
76 // $Log: NCUrl.cc,v $
77 // Revision 1.11 2005/04/19 23:16:18 jimg
78 // Removed client side parts; the client library is now in libnc-dap.
79 //
80 // Revision 1.10 2005/04/08 17:08:47 jimg
81 // Removed old 'virtual ctor' functions which have now been replaced by the
82 // factory class code in libdap++.
83 //
84 // Revision 1.9 2005/03/31 00:04:51 jimg
85 // Modified to use the factory class in libdap++ 3.5.
86 //
87 // Revision 1.8 2005/02/17 23:44:13 jimg
88 // Modifications for processing of command line projections combined
89 // with the limit stuff and projection info passed in from the API. I also
90 // consolodated some of the code by moving d_source from various
91 // classes to NCAccess. This may it so that DODvario() could be simplified
92 // as could build_constraint() and store_projection() in NCArray.
93 //
94 // Revision 1.7 2005/01/26 23:25:51 jimg
95 // Implemented a fix for Sequence access by row number when talking to a
96 // 3.4 or earlier server (which contains a bug in is_end_of_rows()).
97 //
98 // Revision 1.6 2004/09/08 22:08:22 jimg
99 // More Massive changes: Code moved from the files that clone the netCDF
100 // function calls into NCConnect, NCAccess or nc_util.cc. Much of the
101 // translation functions are now methods. The netCDF type classes now
102 // inherit from NCAccess in addition to the DAP type classes.
103 //
104 // Revision 1.5 2004/03/08 19:13:06 jimg
105 // Removed unnecessary read() method implementation.
106 //
107 // Revision 1.4 2003/12/08 18:06:37 edavis
108 // Merge release-3-4 into trunk
109 //
110 // Revision 1.3 2003/09/25 23:09:36 jimg
111 // Meerged from 3.4.1.
112 //
113 // Revision 1.2.8.1 2003/09/06 23:33:14 jimg
114 // I modified the read() method implementations so that they test the new
115 // in_selection property. If it is true, the methods will read values
116 // even if the send_p property is not true. This is so that variables used
117 // in the selection part of the CE, or as function arguments, will be read.
118 // See bug 657.
119 //
120 // Revision 1.2 2000/10/06 01:22:03 jimg
121 // Moved the CVS Log entries to the ends of files.
122 // Modified the read() methods to match the new definition in the dap library.
123 // Added exception handlers in various places to catch exceptions thrown
124 // by the dap library.
125 //
126 // Revision 1.1 1999/07/28 00:22:45 jimg
127 // Added
128 //
129 // Revision 1.7 1999/05/07 23:45:33 jimg
130 // String --> string fixes
131 //
132 // Revision 1.6 1998/08/06 16:33:26 jimg
133 // Fixed misuse of the read(...) member function. Return true if more data
134 // is to be read, false is if not and error if an error is detected
135 //
136 // Revision 1.5 1996/09/17 17:06:45 jimg
137 // Merge the release-2-0 tagged files (which were off on a branch) back into
138 // the trunk revision.
139 //
140 // Revision 1.4.4.3 1996/09/17 00:26:33 jimg
141 // Merged changes from a side branch which contained various changes from
142 // Reza and Charles.
143 // Removed ncdump and netexec since ncdump is now in its own directory and
144 // netexec is no longer used.
145 //
146 // Revision 1.4.4.2 1996/07/10 21:44:28 jimg
147 // Changes for version 2.06. These fixed lingering problems from the migration
148 // from version 1.x to version 2.x.
149 // Removed some (but not all) warning generated with gcc's -Wall option.
150 //
151 // Revision 1.4.4.1 1996/06/25 22:04:48 jimg
152 // Version 2.0 from Reza.
153 //
154 // Revision 1.4 1995/07/09 21:33:53 jimg
155 // Added copyright notice.
156 //
157 // Revision 1.3 1995/06/28 20:22:41 jimg
158 // Replaced malloc calls with calls to new (and calls to free with calls to
159 // delete).
160 //
161 // Revision 1.2 1995/03/16 16:56:48 reza
162 // Updated for the new DAP. All the read_val mfunc. and their memory management
163 // are now moved to their parent class.
164 // Data transfers are now in binary while DAS and DDS are still sent in ASCII.
165 //
166 // Revision 1.1 1995/02/10 04:57:58 reza
167 // Added read and read_val functions.
NCUrl
Definition: NCUrl.h:45