OpenMW
components/files/collections.hpp
Go to the documentation of this file.
00001 #ifndef COMPONENTS_FILES_COLLECTION_HPP
00002 #define COMPONENTS_FILES_COLLECTION_HPP
00003 
00004 #include <boost/filesystem.hpp>
00005 
00006 #include "multidircollection.hpp"
00007 
00008 namespace Files
00009 {
00010     class Collections
00011     {
00012         public:
00013             Collections();
00014 
00016             Collections(const Files::PathContainer& directories, bool foldCase);
00017 
00020             const MultiDirCollection& getCollection(const std::string& extension) const;
00021 
00022             boost::filesystem::path getPath(const std::string& file) const;
00028 
00029             bool doesExist(const std::string& file) const;
00031 
00032             const Files::PathContainer& getPaths() const;
00033 
00034         private:
00035             typedef std::map<std::string, MultiDirCollection> MultiDirCollectionContainer;
00036             Files::PathContainer mDirectories;
00037 
00038             bool mFoldCase;
00039             mutable MultiDirCollectionContainer mCollections;
00040     };
00041 }
00042 
00043 #endif