ソースを参照

Make Filesystem an abstract interface

Daniele Bartolini 12 年 前
コミット
ada2c3d62f

+ 0 - 1
engine/CMakeLists.txt

@@ -152,7 +152,6 @@ set (FILESYSTEM_SRC
 	core/filesystem/File.cpp
 	core/filesystem/DiskFile.cpp
 	core/filesystem/DiskFileSource.cpp
-	core/filesystem/Filesystem.cpp
 )
 
 set (FILESYSTEM_HEADERS

+ 0 - 87
engine/core/filesystem/Filesystem.cpp

@@ -1,87 +0,0 @@
-/*
-Copyright (c) 2013 Daniele Bartolini, Michele Rossi
-Copyright (c) 2012 Daniele Bartolini, Simone Boscaratto
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#include "Filesystem.h"
-#include "FileSource.h"
-#include "DynamicString.h"
-
-namespace crown
-{
-
-//-----------------------------------------------------------------------------
-Filesystem::Filesystem(FileSource& source)
-	: m_source(&source)
-{
-}
-
-//-----------------------------------------------------------------------------
-Filesystem::~Filesystem()
-{
-}
-
-//-----------------------------------------------------------------------------
-File* Filesystem::open(const char* path, FileOpenMode mode)
-{
-	return m_source->open(path, mode);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::close(File* file)
-{
-	m_source->close(file);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::create_directory(const char* path)
-{
-	m_source->create_directory(path);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::delete_directory(const char* path)
-{
-	m_source->delete_directory(path);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::create_file(const char* path)
-{
-	m_source->create_file(path);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::delete_file(const char* path)
-{
-	m_source->delete_file(path);
-}
-
-//-----------------------------------------------------------------------------
-void Filesystem::get_absolute_path(const char* path, DynamicString& os_path)
-{
-	m_source->get_absolute_path(path, os_path);
-}
-
-} // namespace crown

+ 9 - 14
engine/core/filesystem/Filesystem.h

@@ -83,24 +83,20 @@ class Filesystem
 {
 public:
 
-						Filesystem(FileSource& source);
+						Filesystem();
 						~Filesystem();
 
-	File*				open(const char* path, FileOpenMode mode);
-	void				close(File* file);
+	virtual File*		open(const char* path, FileOpenMode mode);
+	virtual void		close(File* file);
 
-	void				create_directory(const char* path);
-	void				delete_directory(const char* path);
-	void				create_file(const char* path);
-	void				delete_file(const char* path);
+	virtual void		create_directory(const char* path);
+	virtual void		delete_directory(const char* path);
+	virtual void		create_file(const char* path);
+	virtual void		delete_file(const char* path);
 
-	void				get_absolute_path(const char* path, DynamicString& os_path);
-		
-private:
-
-	FileSource*			m_source;
+	virtual void		get_absolute_path(const char* path, DynamicString& os_path);
 
-private:			
+private:
 
 	// Disable copying
 						Filesystem(const Filesystem&);
@@ -108,4 +104,3 @@ private:
 };
 
 } // namespace crown
-