core/file: Move exists() out of the file struct

Signed-off-by: Anna Schumaker <Anna@OcarinaProject.net>
This commit is contained in:
Anna Schumaker 2015-09-10 08:23:09 -04:00
parent aa21ede894
commit 7e9eb9e7d2
5 changed files with 11 additions and 13 deletions

View File

@ -79,7 +79,7 @@ void audio :: init()
{ {
unsigned int id; unsigned int id;
if (f_cur_track.exists()) { if (file_exists(&f_cur_track)) {
f_cur_track.open(OPEN_READ); f_cur_track.open(OPEN_READ);
f_cur_track >> id; f_cur_track >> id;
f_cur_track.close(); f_cur_track.close();

View File

@ -48,14 +48,14 @@ const unsigned int file_version(struct file *file)
return file->f_version; return file->f_version;
} }
bool file :: exists() bool file_exists(struct file *file)
{ {
return g_file_test(file_path(this).c_str(), G_FILE_TEST_EXISTS); return g_file_test(file_path(file).c_str(), G_FILE_TEST_EXISTS);
} }
bool file :: _open_read() bool file :: _open_read()
{ {
if (!exists()) if (!file_exists(this))
return false; return false;
std::fstream::open(file_path(this).c_str(), std::fstream::in); std::fstream::open(file_path(this).c_str(), std::fstream::in);

View File

@ -54,7 +54,7 @@ void Database<T> :: load()
unsigned int db_size; unsigned int db_size;
bool valid; bool valid;
if (_file.exists() == false) if (file_exists(&_file) == false)
return; return;
else if (_file.open(OPEN_READ) == false) else if (_file.open(OPEN_READ) == false)
return; return;

View File

@ -64,11 +64,6 @@ struct file : public std::fstream {
*/ */
~file(); ~file();
/**
* @return True if the file exists on disk, False otherwise.
*/
bool exists();
/** /**
* Call to open a file for either reading or writing. * Call to open a file for either reading or writing.
* *
@ -113,5 +108,8 @@ const std::string file_path(struct file *);
/* Returns the version number of the file. */ /* Returns the version number of the file. */
const unsigned int file_version(struct file *); const unsigned int file_version(struct file *);
/* Returns true if the file exists on disk and false otherwise. */
bool file_exists(struct file *);
#endif /* OCARINA_CORE_FILE_H */ #endif /* OCARINA_CORE_FILE_H */

View File

@ -18,8 +18,8 @@ static void test_filepath()
test_equal(file_version(&b), (unsigned)0); test_equal(file_version(&b), (unsigned)0);
test_equal((std::string)file_path(&b), filepath); test_equal((std::string)file_path(&b), filepath);
test_equal(a.exists(), false); test_equal(file_exists(&a), false);
test_equal(b.exists(), false); test_equal(file_exists(&b), false);
test_equal(test_data_file_exists(NULL), false); test_equal(test_data_file_exists(NULL), false);
g_free(filepath); g_free(filepath);
@ -49,7 +49,7 @@ static void test_io()
test_equal(a.open(OPEN_WRITE), true); test_equal(a.open(OPEN_WRITE), true);
a << "ABCDE FGHIJ KLMNO PQRST UVWXYZ" << std::endl; a << "ABCDE FGHIJ KLMNO PQRST UVWXYZ" << std::endl;
a.close(); a.close();
test_equal(a.exists(), true); test_equal(file_exists(&a), true);
file b("file.txt", 0); file b("file.txt", 0);
std::string res; std::string res;