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 time_t parse_time(const char * str, bool expand);
143 
144 bool size_ok(unsigned int sz, unsigned int nelem);
145 bool pathname_ok(const string &path, bool strict = true);
146 
147 } // namespace libdap
148 
149 #endif
void downcase(string &s)
Definition: util.cc:367
time_t parse_time(const char *str, bool expand)
Definition: util_mit.cc:132
string prune_spaces(const string &name)
Definition: util.cc:96
bool size_ok(unsigned int sz, unsigned int nelem)
sanitize the size of an array. Test for integer overflow when dynamically allocating an array...
Definition: util.cc:523
const char * dods_progress()
bool pathname_ok(const string &path, bool strict)
Does the string name a potentailly valid pathname? Test the given pathname to verfiy that it is a val...
Definition: util.cc:545
string file_to_string(FILE *fp)
Definition: util.cc:504
string path_to_filename(string path)
Definition: util.cc:492
bool is_quoted(const string &s)
Definition: util.cc:374
string systime()
Definition: util.cc:354
const char * libdap_root()
Definition: util.cc:168
void append_long_to_string(long val, int base, string &str_val)
Definition: util.cc:411
bool deflate_exists()
string long_to_string(long val, int base)
Definition: util.cc:440
string dap_version()
Definition: util.cc:470
string double_to_string(const double &num)
Definition: util.cc:459
string remove_quotes(const string &s)
Definition: util.cc:380
bool unique_names(vector< BaseType * > l, const string &var_name, const string &type_name, string &msg)
Definition: util.cc:119
FILE * text_to_temp(string text)
const char * libdap_version()
Definition: util.cc:175
FILE * compressor(FILE *output, int &childpid)
void append_double_to_string(const double &num, string &str)
Definition: util.cc:448
const char * libdap_name()
Definition: util.cc:182