WiiFlow_Lite/source/list/cache.hpp

48 lines
1.1 KiB
C++
Raw Normal View History

2012-01-21 21:57:41 +01:00
#ifndef CCACHE
#define CCACHE
#include <sys/types.h>
#include <ogcsys.h>
#include <fstream>
#include <vector>
#include "loader/disc.h"
2012-01-21 21:57:41 +01:00
//#include "gecko.hpp"
2012-01-21 21:57:41 +01:00
using namespace std;
const char io[4][5] = {
"wb",
"rb",
"ab",
"wb",
};
enum CMode
{
SAVE,
LOAD,
ADD,
REMOVE
};
class CCache
{
public:
2012-08-16 16:09:02 +02:00
CCache(dir_discHdr &tmp, string path, u32 index, CMode mode); /* Load/Save One */
CCache(vector<dir_discHdr> &list, string path, CMode mode); /* Load/Save All */
CCache(vector<dir_discHdr> &list, string path, dir_discHdr tmp, CMode mode); /* Add One */
CCache(vector<dir_discHdr> &list, string path, u32 index, CMode mode); /* Remove One */
2012-01-21 21:57:41 +01:00
~CCache();
private:
2012-08-16 16:09:02 +02:00
void SaveAll(vector<dir_discHdr> list);
void SaveOne(dir_discHdr tmp, u32 index);
void LoadAll(vector<dir_discHdr> &list);
void LoadOne(dir_discHdr &tmp, u32 index);
2012-01-21 21:57:41 +01:00
2012-08-16 16:09:02 +02:00
void AddOne(vector<dir_discHdr> &list, dir_discHdr tmp);
void RemoveOne(vector<dir_discHdr> &list, u32 index);
2012-01-21 21:57:41 +01:00
FILE *cache;
string filename;
};
#endif