dwss/LoadFile.cc
2010-11-25 23:20:11 -05:00

49 lines
1.1 KiB
C++

#include <iostream>
#include "LoadFile.h"
using namespace std;
/* The data section is generated by a perl script. The contents of the
* included file are part of this logical program unit, which is why it
* is directly included instead of compiling it separately.
*/
#include "LoadFile-gen.inc"
LoadFile::LoadFile()
{
for (unsigned int i = 0;
i < sizeof(LoadFileData)/sizeof(LoadFileData[0]);
i++)
{
m_filemap[LoadFileData[i].filename] = &LoadFileData[i];
}
}
FileLoader::Buffer LoadFile::load(const FileLoader::Path & path)
{
map<string, fileref_t *>::iterator it = m_filemap.find(path.shortPath);
if (it == m_filemap.end())
{
cerr << "Warning: LoadFile::load("
<< path.shortPath << ") did not find file"
<< endl;
return Buffer(0);
}
return Buffer((char *) it->second->data, it->second->length);
}
int LoadFile::getSize(const FileLoader::Path & path)
{
map<string, fileref_t *>::iterator it = m_filemap.find(path.shortPath);
if (it == m_filemap.end())
return 0;
return it->second->length;
}