|
MiXiM
2.3
|
#include <BonnMotionFileCache.h>

Public Member Functions | |
| virtual const BonnMotionFile * | getFile (const char *filename) |
Static Public Member Functions | |
| static BonnMotionFileCache * | getInstance () |
| static void | deleteInstance () |
Protected Types | |
|
typedef std::map< std::string, BonnMotionFile > | BMFileMap |
Protected Member Functions | |
| void | parseFile (const char *filename, BonnMotionFile &bmFile) |
Protected Attributes | |
| BMFileMap | cache |
Static Protected Attributes | |
| static BonnMotionFileCache * | inst |
Singleton object to read and store BonnMotion files. Used within BonnMotionMobility. Needed because otherwise every node would have to open and read the file independently.
| void BonnMotionFileCache::deleteInstance | ( | ) | [static] |
Deletes the singleton instance.
{
if (inst)
{
delete inst;
inst = NULL;
}
}
| const BonnMotionFile * BonnMotionFileCache::getFile | ( | const char * | filename | ) | [virtual] |
Returns the given document.
Referenced by BonnMotionMobility::initialize().
{
// if found, return it from cache
BMFileMap::iterator it = cache.find(std::string(filename));
if (it!=cache.end())
return &(it->second);
// load and store in cache
BonnMotionFile& bmFile = cache[filename];
parseFile(filename, bmFile);
return &bmFile;
}
| BonnMotionFileCache * BonnMotionFileCache::getInstance | ( | ) | [static] |
Returns the singleton instance.
Referenced by BonnMotionMobility::initialize().
{
if (!inst)
inst = new BonnMotionFileCache;
return inst;
}