4 ResourceStorage::ResourceStorage()
7 database_storage = NULL;
10 ResourceStorage::~ResourceStorage()
13 delete database_storage;
16 bool ResourceStorage::load(const char *dirname)
18 std::string resdir(dirname);
19 resdir += G_DIR_SEPARATOR_S "res";
20 if (g_file_test(resdir.c_str(), G_FILE_TEST_IS_DIR)) {
21 file_storage = new File_ResourceStorage(resdir.c_str());
25 std::string rifofilename(dirname);
26 rifofilename += G_DIR_SEPARATOR_S "res.rifo";
27 if (g_file_test(rifofilename.c_str(), G_FILE_TEST_EXISTS)) {
28 database_storage = new Database_ResourceStorage();
29 bool failed = database_storage->load(rifofilename.c_str());
31 delete database_storage;
32 database_storage = NULL;
41 const char *ResourceStorage::get_file_path(const char *key)
44 return file_storage->get_file_path(key);
46 return database_storage->get_file_path(key);
49 const char *ResourceStorage::get_file_content(const char *key)
52 return file_storage->get_file_content(key);
54 return database_storage->get_file_content(key);
57 File_ResourceStorage::File_ResourceStorage(const char *resdir_)
62 const char *File_ResourceStorage::get_file_path(const char *key)
65 filepath += G_DIR_SEPARATOR;
67 return filepath.c_str();
70 const char *File_ResourceStorage::get_file_content(const char *key)
75 Database_ResourceStorage::Database_ResourceStorage()
79 bool Database_ResourceStorage::load(const char *rifofilename)
84 const char *Database_ResourceStorage::get_file_path(const char *key)
89 const char *Database_ResourceStorage::get_file_content(const char *key)