libdap++  Updated for version 3.11.7
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 bool dir_exists(const string &dir);
75 #if 0
76 // UNTESTED
77 bool dir_writable(const string &dir);
78 #endif
79 
80 // Jose Garcia
111 void append_long_to_string(long val, int base, string &str_val);
112 string long_to_string(long val, int base = 10);
114 
115 // Jose Garcia
129 void append_double_to_string(const double &num, string &str);
130 string double_to_string(const double &num);
132 
134 string dap_version();
135 
144 string path_to_filename(string path);
145 
146 string file_to_string(FILE *fp);
147 
148 int wildcmp(const char *wild, const char *string);
149 
150 int glob( const char *c, const char *s );
151 
152 int wmatch(const char *pat, const char *s);
153 
154 time_t parse_time(const char * str, bool expand);
155 
156 bool size_ok(unsigned int sz, unsigned int nelem);
157 bool pathname_ok(const string &path, bool strict = true);
158 
159 } // namespace libdap
160 
161 #endif