source: gsdl/trunk/common-src/src/lib/gsdltools.h@ 16895

Last change on this file since 16895 was 16895, checked in by davidb, 16 years ago

Runtime code can now support GDBM database being provided as a gzipped txt file, which is platform independant. If the required .ldb (or .bdb) isn't there than the runtime system executes txt2db to generate it. The rest of the code then works as before

  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1/**********************************************************************
2 *
3 * gsdltools.h --
4 * A component of the Greenstone digital library software
5 * from the New Zealand Digital Library Project at the
6 * University of Waikato, New Zealand.
7 *
8 * Copyright (C) 1999 The New Zealand Digital Library Project
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program 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
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23 *
24 *********************************************************************/
25
26
27#ifndef GSDLTOOLS_H
28#define GSDLTOOLS_H
29
30// don't actually use this but some windows
31// versions of STL complain about use of
32// bool keyword without it
33#include "text_t.h"
34
35// returns true if machine is little endian
36bool littleEndian();
37
38// escapes '\' and '_' characters with '\'
39// note that single '\' characters occurring
40// naturally within text (or filenames!!) will
41// be removed by the dm macro language
42text_t dm_safe (const text_t &instring);
43
44// escapes "\", "'" and "_" characters with '\'
45// note that single '\' characters occurring
46// naturally within text (or filenames!!) will
47// be removed by the dm macro language
48//WARNING: instring will be appended to outstring
49// so is your responsability to clean the outstring
50// before call this function;
51void dm_js_safe(const text_t &instring, text_t &outstring);
52inline text_t dm_js_safe (const text_t &instring) {text_t outstring; dm_js_safe(instring, outstring); return outstring;}
53
54// gsdl_system creates a new process for the cmd command (which
55// may contain arguments).
56// cmd should contain the full path of the program to run.
57// The child process inherits the environment of the calling
58// process.
59// If sync is true a synchronous call will be made, otherwise
60// an asyncronous call.
61// If sync is true the return value will be the exit code of
62// the child process or -1 if the child process wasn't started.
63// If sync is false the return value will be 0 if the process
64// was started ok or -1 if it failed.
65int gsdl_system (const text_t &cmd, bool sync, ostream &logout);
66
67bool set_gsdl_env_vars (const text_t& gsdlhome) ;
68
69// attempts to work out if perl is functional
70bool perl_ok (ostream &logout);
71
72#endif
73
74
75
76
77
78
79
Note: See TracBrowser for help on using the repository browser.