bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
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
41static char rcsid[] not_used ={"$Id$"};
42
43#include <libdap/InternalErr.h>
44#include "NCUrl.h"
45
46NCUrl::NCUrl(const string &n, const string &d) : Url(n, d)
47{
48}
49
50NCUrl::NCUrl(const NCUrl &rhs) : Url(rhs)
51{
52}
53
54NCUrl::~NCUrl()
55{
56}
57
58NCUrl &
59NCUrl::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
70BaseType *
71NCUrl::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.
Definition NCUrl.h:45