Daniele Bartolini пре 12 година
родитељ
комит
04f4336e19
5 измењених фајлова са 18 додато и 47 уклоњено
  1. 1 1
      src/core/streams/FileStream.cpp
  2. 7 18
      src/os/android/File.cpp
  3. 2 4
      src/os/android/File.h
  4. 6 20
      src/os/posix/File.cpp
  5. 2 4
      src/os/posix/File.h

+ 1 - 1
src/core/streams/FileStream.cpp

@@ -34,9 +34,9 @@ namespace crown
 //-----------------------------------------------------------------------------
 FileStream::FileStream(StreamOpenMode mode, const char* filename) :
 	Stream(mode),
+	m_file(filename, mode),
 	m_last_was_read(true)
 {
-	m_file.open(filename, mode);
 }
 
 //-----------------------------------------------------------------------------

+ 7 - 18
src/os/android/File.cpp

@@ -34,10 +34,15 @@ namespace crown
 {
 
 //-----------------------------------------------------------------------------
-File::File() :
+File::File(const char* path, StreamOpenMode mode) :
 	m_asset(NULL),
-	m_mode(SOM_READ)
 {
+	// Android assets are always read-only
+	(void) mode;
+	m_mode = SOM_READ;
+	m_asset = AAssetManager_open(os::get_android_asset_manager(), path, AASSET_MODE_RANDOM);
+
+	ce_assert(m_asset != NULL, "Unable to open file: %s", path)
 }
 
 //-----------------------------------------------------------------------------
@@ -74,22 +79,6 @@ size_t File::size() const
 	return AAsset_getLength(m_asset);
 }
 
-//-----------------------------------------------------------------------------
-bool File::open(const char* path, StreamOpenMode mode)
-{
-	ce_assert(!is_open(), "Asset is already open: %s", path);
-
-	// Android assets are always read-only
-	(void) mode;
-	m_mode = SOM_READ;
-
-	m_asset = AAssetManager_open(os::get_android_asset_manager(), path, AASSET_MODE_RANDOM);
-
-	ce_assert(m_asset != NULL, "Unable to open asset: %s", path)
-
-	return true;
-}
-
 //-----------------------------------------------------------------------------
 size_t File::read(void* data, size_t size)
 {

+ 2 - 4
src/os/android/File.h

@@ -39,11 +39,9 @@ class File
 {
 public:
 
-							File();
-							~File();
-
 	/// Opens the file located at @path with the given @mode.
-	bool					open(const char* path, StreamOpenMode mode);
+							File(const char* path, StreamOpenMode mode);
+							~File();
 
 	/// Closes the file.
 	void					close();

+ 6 - 20
src/os/posix/File.cpp

@@ -33,10 +33,13 @@ namespace crown
 {
 
 //-----------------------------------------------------------------------------
-File::File() :
-	m_file_handle(NULL),
-	m_mode(SOM_READ)
+File::File(const char* path, StreamOpenMode mode) :
+	m_file_handle(NULL)
 {
+	m_file_handle = fopen(path, SOM_READ ? "rb" : "wb");
+	ce_assert(m_file_handle != NULL, "Unable to open file: %s", path);
+
+	m_mode = mode;
 }
 
 //-----------------------------------------------------------------------------
@@ -81,23 +84,6 @@ size_t File::size() const
 	return (size_t) size;
 }
 
-//-----------------------------------------------------------------------------
-bool File::open(const char* path, StreamOpenMode mode)
-{
-	ce_assert(!is_open(), "File is already open: %s", path);
-
-	const char* c_mode = mode == SOM_READ ? "rb" : SOM_WRITE ? "wb" : "x";
-
-	ce_assert(c_mode[0] != 'x', "Open mode not valid");
-
-	m_mode = mode;
-	m_file_handle = fopen(path, c_mode);
-
-	ce_assert(m_file_handle != NULL, "Unable to open file: %s", path);
-
-	return true;
-}
-
 //-----------------------------------------------------------------------------
 size_t File::read(void* data, size_t size)
 {

+ 2 - 4
src/os/posix/File.h

@@ -38,11 +38,9 @@ class File
 {
 public:
 
-							File();
-							~File();
-
 	/// Opens the file located at @path with the given @mode.
-	bool					open(const char* path, StreamOpenMode mode);
+							File(const char* path, StreamOpenMode mode);
+							~File();
 
 	/// Closes the file.
 	void					close();