00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #ifndef _util_h
00037 #define _util_h 1
00038
00039 #include <stdio.h>
00040 #include <vector>
00041
00042 #ifndef _basetype_h
00043 #include "BaseType.h"
00044 #endif
00045
00046 #ifndef _byte_h
00047 #include "Byte.h"
00048 #endif
00049
00050 #ifndef _int16_h
00051 #include "Int16.h"
00052 #endif
00053
00054 #ifndef _uint16_h
00055 #include "UInt16.h"
00056 #endif
00057
00058 #ifndef _int32_h
00059 #include "Int32.h"
00060 #endif
00061
00062 #ifndef _uint32_h
00063 #include "UInt32.h"
00064 #endif
00065
00066 #ifndef _float32_h
00067 #include "Float32.h"
00068 #endif
00069
00070 #ifndef _float64_h
00071 #include "Float64.h"
00072 #endif
00073
00074 #ifndef _str_h
00075 #include "Str.h"
00076 #endif
00077
00078 #ifndef _url_h
00079 #include "Url.h"
00080 #endif
00081
00082 #ifndef _array_h
00083 #include "Array.h"
00084 #endif
00085
00086 #ifndef _structure_h
00087 #include "Structure.h"
00088 #endif
00089
00090 #ifndef _sequence_h
00091 #include "Sequence.h"
00092 #endif
00093
00094 #ifndef _grid_h
00095 #include "Grid.h"
00096 #endif
00097
00098 using std::iostream;
00099
00100 string prune_spaces(const string &);
00101 bool unique_names(vector<BaseType *> l, const string &var, const string &type,
00102 string &msg);
00103
00104 #ifdef __POWERPC__
00105 extern "C" XDR *new_xdrstdio(FILE *stream, enum xdr_op xop);
00106 extern "C" XDR *set_xdrstdio(XDR *xdr, FILE *stream, enum xdr_op xop);
00107 extern "C" void delete_xdrstdio(XDR *xdr);
00108 #else
00109 XDR *new_xdrstdio(FILE *stream, enum xdr_op xop);
00110 XDR *set_xdrstdio(XDR *xdr, FILE *stream, enum xdr_op xop);
00111 void delete_xdrstdio(XDR *xdr);
00112 #endif
00113 FILE *text_to_temp(string text);
00114 string systime();
00115 FILE *compressor(FILE *output, int &childpid);
00116 bool deflate_exists();
00117 const char *libdap_root();
00122 extern "C" const char *libdap_version();
00123 extern "C" const char *libdap_name();
00124 const char *dods_progress();
00125 #ifdef WIN32
00126 void flush_stream(iostream ios, FILE *out);
00127 #endif
00128
00129 extern "C" bool_t xdr_str(XDR *xdrs, string &buf);
00130
00131 void downcase(string &s);
00132
00163 void append_long_to_string(long val, int base, string &str_val);
00164 string long_to_string(long val, int base = 10);
00166
00167
00181 void append_double_to_string(const double &num, string &str);
00182 string double_to_string(const double &num);
00184
00186 string dap_version();
00187
00196 string path_to_filename(string path);
00197
00212 char *get_tempfile_template(char *file_template);
00213
00214 FILE *get_temp_file(char *temp);
00215 string file_to_string(FILE *fp);
00216
00217 time_t parse_time(const char * str, bool expand);
00218
00219 #endif