libdap++  Updated for version 3.8.2
util.h
Go to the documentation of this file.
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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 //
24 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
25 
26 // (c) COPYRIGHT URI/MIT 1994-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 // declarations for utility functions
33 //
34 // jhrg 9/21/94
35 
36 #ifndef _util_h
37 #define _util_h 1
38 
39 #include <cstdio>
40 #include <vector>
41 
42 #ifndef _basetype_h
43 #include "BaseType.h"
44 #endif
45 
46 using std::iostream;
47 
48 namespace libdap
49 {
50 
51 string prune_spaces(const string &);
52 bool unique_names(vector<BaseType *> l, const string &var, const string &type,
53  string &msg);
54 FILE *text_to_temp(string text);
55 string systime();
56 FILE *compressor(FILE *output, int &childpid);
57 bool deflate_exists();
58 const char *libdap_root();
63 extern "C" const char *libdap_version();
64 extern "C" const char *libdap_name();
65 const char *dods_progress();
66 #ifdef WIN32
67 void flush_stream(iostream ios, FILE *out);
68 #endif
69 
70 void downcase(string &s);
71 bool is_quoted(const string &s);
72 string remove_quotes(const string &s);
73 
74 // Jose Garcia
105 void append_long_to_string(long val, int base, string &str_val);
106 string long_to_string(long val, int base = 10);
108 
109 // Jose Garcia
123 void append_double_to_string(const double &num, string &str);
124 string double_to_string(const double &num);
126 
128 string dap_version();
129 
138 string path_to_filename(string path);
139 
140 string file_to_string(FILE *fp);
141 
142 int wildcmp(const char *wild, const char *string);
143 
144 int glob( const char *c, const char *s );
145 
146 int wmatch(const char *pat, const char *s);
147 
148 time_t parse_time(const char * str, bool expand);
149 
150 bool size_ok(unsigned int sz, unsigned int nelem);
151 bool pathname_ok(const string &path, bool strict = true);
152 
153 } // namespace libdap
154 
155 #endif