#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.
Definition at line 53 of file BonnMotionFileCache.h.
void BonnMotionFileCache::deleteInstance | ( | ) | [static] |
Deletes the singleton instance.
Definition at line 41 of file BonnMotionFileCache.cc.
{ if (inst) { delete inst; inst = NULL; } }
const BonnMotionFile * BonnMotionFileCache::getFile | ( | const char * | filename | ) | [virtual] |
Returns the given document.
Definition at line 50 of file BonnMotionFileCache.cc.
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.
Definition at line 34 of file BonnMotionFileCache.cc.
Referenced by BonnMotionMobility::initialize().
{ if (!inst) inst = new BonnMotionFileCache; return inst; }