/* * Copyright 2006 Sony Computer Entertainment Inc. * * Licensed under the MIT Open Source License, for details please see license.txt or the website * http://www.opensource.org/licenses/mit-license.php * */ #ifndef __DAE_RAWRESOLVER_H__ #define __DAE_RAWRESOLVER_H__ #include <string> #include <map> #include <dae/daeURI.h> class DAE; /** * The @c daeRawResolver class derives from @c daeURIResolver and implements * the .raw backend resolver for raw binary data. */ class DLLSPEC daeRawResolver : public daeURIResolver { public: /** * Constructor. */ daeRawResolver(DAE& dae); /** * Destructor. */ ~daeRawResolver(); public: // Abstract Interface virtual daeElement* resolveElement(const daeURI& uri); virtual daeString getName(); }; // A simple class to make speed up the process of resolving a .raw URI. // The result of the resolve is cached for future use. // This is meant for DOM internal use only. class DLLSPEC daeRawRefCache { public: daeElement* lookup(const daeURI& uri); void add(const daeURI& uri, daeElement* elt); void remove(const daeURI& uri); void clear(); private: std::map<std::string, daeElement*> lookupTable; }; #endif