NEURON
ocfile.h
Go to the documentation of this file.
1 #ifndef ocfile_h
2 #define ocfile_h
3 
4 #include <OS/string.h>
5 #include <string>
6 class File;
7 class FileChooser;
8 
9 class OcFile {
10 public:
11  OcFile();
12  virtual ~OcFile();
13  bool open(const char* filename, const char* type);
14  void set_name(const char* s);
15  const char* get_name() {return filename_.string();}
16  const char* dir();
17  void close();
18  void print(const char* s) {fprintf(file(), "%s", s);}
19  FILE* file();
20  bool is_open() { return file_ ? true : false;}
21  bool eof();
22  void flush() { if (file_) { fflush(file_); }}
23  bool mktemp();
24  bool unlink();
25  void file_chooser_style(const char* type, const char* path,
26  const char* banner=NULL, const char* filter=NULL,
27  const char* accept=NULL, const char* cancel=NULL);
28  bool file_chooser_popup();
29 #ifdef WIN32
30  void binary_mode();// sets open file to binary mode once only
31 #endif
32 private:
34  enum { N, R, W, A};
38  FILE* file_;
39 #ifdef WIN32
40  bool binary_;
41  char mode_[3];
42 #endif
43 };
44 
45 #ifdef WIN32
46 #define BinaryMode(ocfile) ocfile->binary_mode();
47 #else
48 #define BinaryMode(ocfile) /**/
49 #endif
50 
51 bool isDirExist(const std::string& path);
52 bool makePath(const std::string& path);
53 
54 #endif
short type
Definition: cabvars.h:10
return true
Definition: savstate.cpp:357
static char banner[]
Definition: init.cpp:23
void file_chooser_style(const char *type, const char *path, const char *banner=NULL, const char *filter=NULL, const char *accept=NULL, const char *cancel=NULL)
Definition: ocfile.cpp:411
Definition: file.h:36
int chooser_type_
Definition: ocfile.h:35
const char * dir()
Definition: ocfile.cpp:485
OcFile()
Definition: ocfile.cpp:66
#define FileChooser
Definition: _defines.h:116
bool file_chooser_popup()
Definition: ocfile.cpp:497
void print(const char *s)
Definition: ocfile.h:18
const char * string() const
Definition: string.h:139
virtual ~OcFile()
Definition: ocfile.cpp:73
CopyString filename_
Definition: ocfile.h:36
void flush()
Definition: ocfile.h:22
_CONST char * s
Definition: system.cpp:74
void close()
Definition: ocfile.cpp:325
bool makePath(const std::string &path)
Definition: ocfile.cpp:576
const char * get_name()
Definition: ocfile.h:15
fprintf(stderr, "Don't know the location of params at %p\, pp)
bool open(const char *filename, const char *type)
Definition: ocfile.cpp:359
CopyString dirname_
Definition: ocfile.h:37
FileChooser * fc_
Definition: ocfile.h:33
void set_name(const char *s)
Definition: ocfile.cpp:331
bool is_open()
Definition: ocfile.h:20
Definition: ocfile.h:9
bool unlink()
Definition: ocfile.cpp:406
bool isDirExist(const std::string &path)
Definition: ocfile.cpp:557
bool eof()
Definition: ocfile.cpp:390
FILE * file_
Definition: ocfile.h:38
bool mktemp()
Definition: ocfile.cpp:396
return NULL
Definition: cabcode.cpp:461
FILE * file()
Definition: ocfile.cpp:383