[Scummvm-cvs-logs] SF.net SVN: scummvm: [27473] scummvm/branches/gsoc2007-fsnode

david_corrales at users.sourceforge.net david_corrales at users.sourceforge.net
Sat Jun 16 19:31:37 CEST 2007


Revision: 27473
          http://scummvm.svn.sourceforge.net/scummvm/?rev=27473&view=rev
Author:   david_corrales
Date:     2007-06-16 10:31:36 -0700 (Sat, 16 Jun 2007)

Log Message:
-----------
Removed the isValid operation from the FilesystemNode class in favor of the much richer combinations possible with the new operations (exists, isReadable and isWritable).
The work on the Common::File class is far from complete. Only the necessary was updated.

Modified Paths:
--------------
    scummvm/branches/gsoc2007-fsnode/backends/fs/abstract-fs.h
    scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs.cpp
    scummvm/branches/gsoc2007-fsnode/common/file.cpp
    scummvm/branches/gsoc2007-fsnode/common/fs.cpp
    scummvm/branches/gsoc2007-fsnode/common/fs.h
    scummvm/branches/gsoc2007-fsnode/common/md5.cpp
    scummvm/branches/gsoc2007-fsnode/gui/themebrowser.cpp

Modified: scummvm/branches/gsoc2007-fsnode/backends/fs/abstract-fs.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/fs/abstract-fs.h	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/backends/fs/abstract-fs.h	2007-06-16 17:31:36 UTC (rev 27473)
@@ -122,11 +122,6 @@
 	virtual bool isReadable() const = 0;
 	
 	/**
-	 * Indicates whether this path is valid or not for usage.
-	 */
-	virtual bool isValid() const = 0;
-	
-	/**
 	 * Indicates whether this path can be written to or not.
 	 */
 	virtual bool isWritable() const = 0;

Modified: scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs.cpp	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/backends/fs/posix/posix-fs.cpp	2007-06-16 17:31:36 UTC (rev 27473)
@@ -68,7 +68,6 @@
 	virtual String getPath() const { return _path; }
 	virtual bool isDirectory() const { return _isDirectory; }
 	virtual bool isReadable() const { return access(_path.c_str(), R_OK) == 0; }
-	virtual bool isValid() const { return _isValid; }
 	virtual bool isWritable() const { return access(_path.c_str(), W_OK) == 0; }
 	
 	virtual AbstractFilesystemNode *getChild(const String &n) const;

Modified: scummvm/branches/gsoc2007-fsnode/common/file.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/common/file.cpp	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/common/file.cpp	2007-06-16 17:31:36 UTC (rev 27473)
@@ -364,13 +364,19 @@
 bool File::open(const FilesystemNode &node, AccessMode mode) {
 	assert(mode == kFileReadMode || mode == kFileWriteMode);
 
-	if (!node.isValid()) {
-		warning("File::open: Trying to open an invalid FilesystemNode object");
+	if (!node.exists()) {
+		warning("File::open: Trying to open a FilesystemNode which does not exist");
 		return false;
 	} else if (node.isDirectory()) {
 		warning("File::open: Trying to open a FilesystemNode which is a directory");
 		return false;
-	}
+	} /*else if (!node.isReadable() && mode == kFileReadMode) {
+		warning("File::open: Trying to open an unreadable FilesystemNode object for reading");
+		return false;
+	} else if (!node.isWritable() && mode == kFileWriteMode) {
+		warning("File::open: Trying to open an unwritable FilesystemNode object for writing");
+		return false;
+	}*/
 
 	String filename(node.getName());
 
@@ -409,7 +415,7 @@
 	// FIXME: can't use isValid() here since at the time of writing
 	// FilesystemNode is to be unable to find for example files
 	// added in extrapath
-	if (file.isDirectory())
+	if (file.isDirectory() && !file.exists())
 		return false;
 
 	// Next, try to locate the file by *opening* it in read mode. This has

Modified: scummvm/branches/gsoc2007-fsnode/common/fs.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/common/fs.cpp	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/common/fs.cpp	2007-06-16 17:31:36 UTC (rev 27473)
@@ -161,12 +161,6 @@
 	return _realNode->isReadable();
 }
 
-bool FilesystemNode::isValid() const {
-	if (_realNode == 0)
-		return false;
-	return _realNode->isValid();
-}
-
 bool FilesystemNode::isWritable() const {
 	if (_realNode == 0)
 		return false;

Modified: scummvm/branches/gsoc2007-fsnode/common/fs.h
===================================================================
--- scummvm/branches/gsoc2007-fsnode/common/fs.h	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/common/fs.h	2007-06-16 17:31:36 UTC (rev 27473)
@@ -194,11 +194,6 @@
 	virtual bool isReadable() const;
 	
 	/**
-	 * Indicates whether this path is valid or not for usage.
-	 */
-	bool isValid() const;
-	
-	/**
 	 * Indicates whether this path can be written to or not.
 	 */
 	virtual bool isWritable() const;

Modified: scummvm/branches/gsoc2007-fsnode/common/md5.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/common/md5.cpp	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/common/md5.cpp	2007-06-16 17:31:36 UTC (rev 27473)
@@ -246,11 +246,14 @@
 }
 
 bool md5_file(const FilesystemNode &file, uint8 digest[16], uint32 length) {
-	if (!file.isValid()) {
-		warning("md5_file: using an invalid FilesystemNode");
+	if(!file.exists()) {
+		warning("md5_file: using an inexistent FilesystemNode");
 		return false;
+	} else if (!file.isReadable()) {
+		warning("md5_file: using an unreadable FilesystemNode");
+		return false;
 	} else if (file.isDirectory()) {
-		warning("md5_file: using a diretory FilesystemNode");
+		warning("md5_file: using a directory FilesystemNode");
 		return false;
 	}
 

Modified: scummvm/branches/gsoc2007-fsnode/gui/themebrowser.cpp
===================================================================
--- scummvm/branches/gsoc2007-fsnode/gui/themebrowser.cpp	2007-06-16 17:20:46 UTC (rev 27472)
+++ scummvm/branches/gsoc2007-fsnode/gui/themebrowser.cpp	2007-06-16 17:31:36 UTC (rev 27473)
@@ -144,7 +144,7 @@
 
 	FilesystemNode node(dir);
 
-	if (!node.isValid())
+	if (!node.exists() || !node.isReadable())
 		return;
 
 	FSList fslist;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list