source: main/trunk/greenstone2/common-src/src/lib/fileutil.h@ 21404

Last change on this file since 21404 was 21404, checked in by davidb, 14 years ago

Introduction of pathname_cat which concatenates values for path variables such as CLASSPATH and PATH. Uses ':' for Unix, ';' for Windows

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 2.9 KB
Line 
1/**********************************************************************
2 *
3 * fileutil.h -- a few useful file utilities
4 * Copyright (C) 1999 The New Zealand Digital Library Project
5 *
6 * A component of the Greenstone digital library software
7 * from the New Zealand Digital Library Project at the
8 * University of Waikato, New Zealand.
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 FILEUTIL_H
28#define FILEUTIL_H
29
30#include "text_t.h"
31
32
33// returns the proper concatenation of directory + directory/filename
34text_t filename_cat (text_t path1, text_t path2);
35text_t filename_cat (text_t path1, text_t path2, text_t path3);
36text_t filename_cat (text_t path1, text_t path2, text_t path3, text_t path4);
37text_t filename_cat (text_t path1, text_t path2, text_t path3, text_t path4,
38 text_t path5);
39text_t filename_cat (text_t path1, text_t path2, text_t path3, text_t path4,
40 text_t path5, text_t path6);
41
42
43// returns the proper concatenation of the two paths, as in
44// /usr/bin:/usr/local/bin (for Unix) and c:\usr\bin;c:\usr\local\bin (for windows)
45text_t pathname_cat (text_t path1, text_t path2);
46text_t pathname_cat (text_t path1, text_t path2, text_t path3);
47text_t pathname_cat (text_t path1, text_t path2, text_t path3, text_t path4);
48text_t pathname_cat (text_t path1, text_t path2, text_t path3, text_t path4,
49 text_t path5);
50text_t pathhname_cat (text_t path1, text_t path2, text_t path3, text_t path4,
51 text_t path5, text_t path6);
52
53// returns true if filename can be opened
54bool file_exists (const text_t &filename);
55
56// returns true if filename can be written to
57bool file_writable (const text_t &filename);
58
59// returns true if directory exists
60bool directory_exists (const text_t &dirname);
61
62// note that read_dir appends to filelist, it doesn't clear
63// it first
64bool read_dir (const text_t &dirname, text_tarray &filelist);
65bool read_dir (const text_t &dirname, text_tset &filelist);
66
67bool file_copy (const text_t &fromfile, const text_t &tofile);
68
69text_t file_tail (const text_t &filename, int numlines, int linelength);
70
71// returns true if directory created successfully
72bool mk_dir (const text_t &dirname);
73
74bool read_file (const text_t &filename, text_t &content);
75
76#endif
Note: See TracBrowser for help on using the repository browser.