libdap Updated for version 3.20.10
libdap4 is an implementation of OPeNDAP's DAP protocol.
Url.h
1
2// -*- mode: c++; c-basic-offset:4 -*-
3
4// This file is part of libdap, A C++ implementation of the OPeNDAP Data
5// Access Protocol.
6
7// Copyright (c) 2002,2003 OPeNDAP, Inc.
8// Author: James Gallagher <jgallagher@opendap.org>
9//
10// This library is free software; you can redistribute it and/or
11// modify it under the terms of the GNU Lesser General Public
12// License as published by the Free Software Foundation; either
13// version 2.1 of the License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful,
16// but WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public 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// (c) COPYRIGHT URI/MIT 1995-1999
27// Please read the full copyright statement in the file COPYRIGHT.
28//
29// Authors:
30// jhrg,jimg James Gallagher (jgallagher@gso.uri.edu)
31
32// Interface for Url type.
33//
34// jhrg 9/7/94
35
36#ifndef _url_h
37#define _url_h 1
38
39
40#include <string>
41
42#if 0
43#ifndef _dods_limits_h
44#include "dods-limits.h"
45#endif
46
47#ifndef _basetype_h
48#include "BaseType.h"
49#endif
50#endif
51
52
53// #ifndef _str_h
54#include "Str.h"
55//#endif
56
57namespace libdap
58{
59
60class BaseType;
61
62const unsigned int max_url_len = 255;
63
68class Url: public Str
69{
70
71#if 0
72private:
73string _buf;
74
75// This enables methods of Str to access _buf in this class.
76friend class Str;
77#endif
78
79public:
80 Url(const std::string &n);
81 Url(const std::string &n, const std::string &d);
82 Url(const std::string &n, Type t);
83 Url(const std::string &n, const std::string &d, Type t);
84 virtual ~Url()
85 {}
86
87 virtual BaseType *ptr_duplicate();
88};
89
90} // namespace libdap
91
92#endif // _url_h
93
The basic data type for the DODS DAP types.
Definition BaseType.h:118
Holds character string data.
Definition Str.h:63
Holds an Internet address (URL).
Definition Url.h:69
virtual BaseType * ptr_duplicate()
Definition Url.cc:69
Url(const std::string &n)
Definition Url.cc:50
top level DAP object to house generic methods
Type
Identifies the data type.
Definition Type.h:94