source: golgotha/src/i4/file/file_man.hh @ 80

Last change on this file since 80 was 80, checked in by Sam Hocevar, 12 years ago
  • Adding the Golgotha source code. Not sure what's going to be interesting in there, but since it's all public domain, there's certainly stuff to pick up.
File size: 1.7 KB
Line 
1/********************************************************************** <BR>
2  This file is part of Crack dot Com's free source code release of
3  Golgotha. <a href="http://www.crack.com/golgotha_release"> <BR> for
4  information about compiling & licensing issues visit this URL</a>
5  <PRE> If that doesn't help, contact Jonathan Clark at
6  golgotha_source@usa.net (Subject should have "GOLG" in it)
7***********************************************************************/
8
9#ifndef I4_FILE_MAN_HH
10#define I4_FILE_MAN_HH
11
12#include "file/file.hh"
13#include "init/init.hh"
14
15// see file/file.hh for a description of what each of these functions do
16class i4_file_manager_class : public i4_init_class
17{
18public:
19  int init_type() { return I4_INIT_TYPE_FILE_MANAGER; }
20
21  static i4_file_manager_class *first;
22  i4_file_manager_class *next;
23
24  virtual i4_file_class *open(const i4_const_str &name, w32 flags=I4_READ) { return 0; }
25
26  virtual i4_bool unlink(const i4_const_str &name) { return i4_F; }
27
28  virtual i4_bool mkdir(const i4_const_str &name) { return i4_F; }
29
30  virtual i4_bool get_status(const i4_const_str &filename, i4_file_status_struct &return_stat)
31  { return i4_F; }
32
33  virtual i4_bool get_directory(const i4_const_str &path,
34                                i4_directory_struct &dir_struct,
35                                i4_bool get_status=i4_F,
36                                i4_status_class *status=0) { return i4_F; }
37
38 
39  virtual i4_bool split_path(const i4_const_str &name, i4_filename_struct &fn);
40
41  virtual i4_str *full_path(const i4_const_str &relative_name) { return 0; }
42};
43
44
45void i4_add_file_manager(i4_file_manager_class *fman, i4_bool add_front);
46void i4_remove_file_manger(i4_file_manager_class *fman);
47
48#endif
Note: See TracBrowser for help on using the repository browser.