athena/include/Athena/WiiSave.hpp

85 lines
1.4 KiB
C++
Raw Normal View History

2015-03-01 20:42:39 +00:00
#ifndef WIISAVE_HPP
#define WIISAVE_HPP
2013-02-16 04:22:16 +00:00
#include <unordered_map>
#include <string>
2014-04-20 09:14:15 +00:00
#include "Athena/Global.hpp"
2013-02-16 04:22:16 +00:00
2014-04-20 09:14:15 +00:00
namespace Athena
2013-07-21 03:57:20 +00:00
{
2013-02-16 04:22:16 +00:00
class WiiFile;
class WiiBanner;
class WiiImage;
class BinaryReader;
class BinaryWriter;
2013-07-21 03:57:20 +00:00
/*! \class WiiSave
* \brief Wii data.bin container class
*
* Contains all relevant data for a Wii data.bin file.
*/
2013-02-16 04:22:16 +00:00
class WiiSave
{
public:
2013-07-21 03:57:20 +00:00
/*!
* \brief FileIterator
*/
2013-02-16 04:22:16 +00:00
typedef std::unordered_map<std::string, WiiFile*>::const_iterator FileIterator;
2013-07-21 03:57:20 +00:00
/*!
* \brief WiiSave
*/
2013-02-16 04:22:16 +00:00
WiiSave();
2013-07-21 03:57:20 +00:00
/*!
* \brief ~WiiSave
*/
2013-02-16 04:22:16 +00:00
virtual ~WiiSave();
2013-07-21 03:57:20 +00:00
/*!
* \brief addFile
* \param filename
* \param file
*/
void addFile(WiiFile* file);
void setRoot(WiiFile* root);
2013-07-21 03:57:20 +00:00
/*!
* \brief file
* \param filename
* \return
*/
WiiFile* file(const std::string& filename);
atUint32 fileCount() const;
2013-07-21 03:57:20 +00:00
/*!
* \brief fileList
* \return
*/
WiiFile* root();
2013-02-16 04:22:16 +00:00
2013-07-21 03:57:20 +00:00
/*!
* \brief setBanner
* \param banner
*/
2013-02-16 04:22:16 +00:00
void setBanner(WiiBanner* banner);
2013-07-21 03:57:20 +00:00
/*!
* \brief banner
* \return
*/
2013-02-16 04:22:16 +00:00
WiiBanner* banner() const;
std::vector<WiiFile*> allFiles() const;
2013-02-16 04:22:16 +00:00
protected:
private:
WiiFile* m_root;
2013-02-16 04:22:16 +00:00
WiiBanner* m_banner;
};
2013-07-21 03:57:20 +00:00
} // zelda
2015-03-01 20:42:39 +00:00
#endif // WIISAVE_HPP