From 0c391fdbce5a079cf03e483eb6174dd47806163d Mon Sep 17 00:00:00 2001
From: chai <chaifix@163.com>
Date: Wed, 7 Aug 2019 21:08:47 +0800
Subject: *misc

---
 Source/modules/asura-base/FileSystem/FileData.cpp | 59 +++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 Source/modules/asura-base/FileSystem/FileData.cpp

(limited to 'Source/modules/asura-base/FileSystem/FileData.cpp')

diff --git a/Source/modules/asura-base/FileSystem/FileData.cpp b/Source/modules/asura-base/FileSystem/FileData.cpp
new file mode 100644
index 0000000..b29a95b
--- /dev/null
+++ b/Source/modules/asura-base/FileSystem/FileData.cpp
@@ -0,0 +1,59 @@
+#include "FileData.h"
+
+namespace AsuraEngine
+{
+	namespace FileSystem
+	{
+
+		FileData::FileData(const std::string& filename)
+			: m_Data(nullptr)
+			, m_FileName(filename)
+		{
+			size_t dot = filename.rfind('.');
+			if (dot != std::string::npos)
+			{
+			 m_Extension = filename.substr(dot + 1);
+			 m_Name = filename.substr(0, dot);
+			}
+			else
+			 m_Name = filename;
+		}
+
+		FileData::~FileData()
+		{
+			if (m_Data)
+			 m_Data->Release();
+		}
+
+		const std::string& FileData::GetFileName()
+		{
+			return m_FileName;
+		}
+
+		const std::string& FileData::GetExtension()
+		{
+			return m_Extension;
+		}
+
+		const std::string& FileData::GetName()
+		{
+			return m_Name;
+		}
+
+		void FileData::BindData(ASURA_MOVE DataBuffer* buffer)
+		{
+			if (!buffer)
+				return;
+			if (m_Data)
+			 m_Data->Release();
+		 m_Data = buffer;
+		 m_Data->Retain();
+		}
+
+		DataBuffer* FileData::GetDataBuffer()
+		{
+			return m_Data;
+		}
+
+	}
+}
\ No newline at end of file
-- 
cgit v1.1-26-g67d0