comparison engine/core/vfs/directoryprovider.h @ 693:5e010218273d

This commit is to back port a fix from 0.3.3 dev branch to the trunk. The directory provider will now use the boost::filesystem::is_directory function to determine if the passed in source is a directory. This allows a python client (through VFS::addNewSource) to add a directory source that is either an absolute path or a relative path from where the application is launched. [t:544]
author vtchill@33b003aa-7bff-0310-803a-e67f0ece8222
date Wed, 08 Jun 2011 04:34:50 +0000
parents 90005975cdbb
children
comparison
equal deleted inserted replaced
692:be625cdff350 693:5e010218273d
41 */ 41 */
42 class DirectoryProvider : public VFSSourceProvider { 42 class DirectoryProvider : public VFSSourceProvider {
43 public: 43 public:
44 DirectoryProvider() : VFSSourceProvider("OS Directory") { } 44 DirectoryProvider() : VFSSourceProvider("OS Directory") { }
45 45
46 /** Check if a given directory is readable for this VFSSource. 46 /** Check if a given directory is readable.
47 * Directory sources must be denoted by a trailing '/', otherwise VFS will consider 47 * The path must either be an absolute path or relative
48 * the source to be a file, and unreadable asa a directory. 48 * to the current working directory where the client was launched
49 * 49 *
50 * @param file the filename to check 50 * @param path the filename to check
51 * @return true if readable, false otherwise 51 * @return true if readable, false otherwise
52 */ 52 */
53 virtual bool isReadable(const std::string& path) const; 53 virtual bool isReadable(const std::string& path) const;
54 54
55 /** Create a new instance of a VFSSource initialized with the given directory 55 /** Create a new instance of a VFSSource initialized with the given directory
56 * 56 * This will only pass if the path is readable and recognized
57 * @param file the directory to open 57 * as a directory as per the description of isReadable
58 *
59 * @param path the directory to open
58 * @return the new VFSSource 60 * @return the new VFSSource
59 */ 61 */
60 virtual VFSSource* createSource(const std::string& path) const; 62 virtual VFSSource* createSource(const std::string& path) const;
61 63
62 private: 64 private: