diff options
Diffstat (limited to 'src/libjin/Filesystem')
-rw-r--r-- | src/libjin/Filesystem/je_asset_database.cpp | 85 | ||||
-rw-r--r-- | src/libjin/Filesystem/je_asset_database.h | 114 | ||||
-rw-r--r-- | src/libjin/Filesystem/je_buffer.h | 169 |
3 files changed, 0 insertions, 368 deletions
diff --git a/src/libjin/Filesystem/je_asset_database.cpp b/src/libjin/Filesystem/je_asset_database.cpp deleted file mode 100644 index a8524c5..0000000 --- a/src/libjin/Filesystem/je_asset_database.cpp +++ /dev/null @@ -1,85 +0,0 @@ -#include "../core/je_configuration.h" -#if defined(jin_filesystem) - -#include <string.h> -#include <stdlib.h> -#include <stdio.h> /* defines FILENAME_MAX */ - -#include "../common/je_exception.h" - -#include "je_asset_database.h" - -namespace JinEngine -{ - namespace Filesystem - { - - AssetDatabase* AssetDatabase::mAssetDatabase = 0; - - AssetDatabase::AssetDatabase() - { - mSmt = smtnewshared(); - } - - AssetDatabase* AssetDatabase::get() - { - return mAssetDatabase ? mAssetDatabase : (mAssetDatabase = new AssetDatabase()); - } - - void AssetDatabase::mount(const char * path) - { - int err = smtmount(mSmt, path); - if (err) - { - printf("%s mounted path %s", smterrstr(err), path); - exit(1); - } - } - - void AssetDatabase::read(const char* path, Buffer& buffer) - { - size_t size; - byte* data = (byte*)smtread(mSmt, path, &size); - if (data == nullptr) - throw Exception("Could not read file %s.", path); - buffer.bind(data, size); - } - - Buffer* read(const char* path) - { - return nullptr; - } - - void* AssetDatabase::read(const char* path, unsigned int* len) - { - return smtread(mSmt, path, len); - } - - const char* AssetDatabase::getFull(const char* path) - { - return smtfullpath(mSmt, path); - } - - bool AssetDatabase::isDir(const char* path) - { - return smtisdir(mSmt, path); - } - - bool AssetDatabase::isFile(const char* path) - { - return smtisreg(mSmt, path); - } - - bool AssetDatabase::exists(const char* path) - { - return smtexists(mSmt, path) == 0; - } -/* - std::vector<std::string> AssetDatabase::getFiles(const char* path, bool recursive) - { - } -*/ - } // namespace Filesystem -} // namespace JinEngine - -#endif // jin_filesystem
\ No newline at end of file diff --git a/src/libjin/Filesystem/je_asset_database.h b/src/libjin/Filesystem/je_asset_database.h deleted file mode 100644 index e8b1bd1..0000000 --- a/src/libjin/Filesystem/je_asset_database.h +++ /dev/null @@ -1,114 +0,0 @@ -#ifndef __JE_ASSET_DATABASE_H__ -#define __JE_ASSET_DATABASE_H__ - -#include "../core/je_configuration.h" -#if defined(jin_filesystem) - -#include <vector> - -#include "smount/smount.h" - -#include "je_buffer.h" - -namespace JinEngine -{ - namespace Filesystem - { - - /// - /// Assets managment. - /// - class AssetDatabase - { - public: - /// - /// Get asset database singleton. - /// - /// @param Singleton of asset database. - /// - static AssetDatabase* get(); - - /// - /// Asset database constructor. - /// - AssetDatabase(); - - /// - /// Set asset root folder. - /// - /// @param root Root folder of assets. - /// - void mount(const char* root); - - /// - /// Check if the path is directory. - /// - /// @param path Path under asset folder. - /// @return True if the given path is directory, otherwise return false. - /// - bool isDir(const char* path); - - /// - /// Check if the path is file. - /// - /// @param path Path under asset folder. - /// @return True if the given path is file, otherwise return false. - /// - bool isFile(const char* path); - - /// - /// Check if the path exists. - /// @param path Given path. - /// @return True if path exists, otherwise return false. - /// - bool exists(const char* path); - - /// - /// Read file into a buffer. - /// - /// @param path Path of file. - /// @param buffer Buffer to fill. - /// @return True if read sucessful, otherwise return false. - /// - void read(const char* path, Buffer& buffer); - - /// - /// Read file and return data content. - /// - /// @param path Path of file. - /// @param length Length of data. - /// @return Data if read sucessful, otherwise return null. - /// - void* read(const char* path, unsigned int* length); - - /// - /// Get files under given directory. - /// - /// @param path Path of directory. - /// @param recursive Recursivily search folder. - /// @return File list under given directory. - /// - std::vector<std::string> getFiles(const char* directory, bool recursive = false); - - /// - /// Get full path of asset. - /// - /// @param path Path of asset. - /// @return Full path of asset. - /// - const char* getFull(const char* path); - - private: - static AssetDatabase* mAssetDatabase; -#if jin_filesystem == jin_filesystem_smount - smtShared* mSmt; -#endif - - }; - - } // namespace Filesystem -} // namespace JinEngine - -#endif // jin_filesystem - -#endif
\ No newline at end of file diff --git a/src/libjin/Filesystem/je_buffer.h b/src/libjin/Filesystem/je_buffer.h deleted file mode 100644 index 1111e49..0000000 --- a/src/libjin/Filesystem/je_buffer.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef __JE_BUFFER_H__ -#define __JE_BUFFER_H__ - -#include "../core/je_configuration.h" -#if defined(jin_filesystem) - -#include <string.h> -#include <stdlib.h> - -#include "../common/je_temporary.h" -#include "../common/je_types.h" - -namespace JinEngine -{ - namespace Filesystem - { - - /// - /// Data buffer allocated on heap. - /// - class Buffer : public Temporary - { - public: - /// - /// Buffer constructor. - /// - Buffer() - : mData(0) - , mSize(0) - { - } - - /// - /// Copy constructor. - /// - /// @param src Buffer source. - /// - Buffer(const Buffer& src) - { - delete[] mData; - mSize = src.mSize; - mData = new byte[mSize]; - memcpy(mData, src.mData, mSize); - } - - /// - /// Buffer constructor. - /// - /// @param data Buffer data. - /// @param size Size of buffer. - /// - Buffer(void* data, int size) - { - mSize = size; - mData = new byte[mSize]; - memcpy(mData, data, mSize); - } - - /// - /// Buffer constructor. - /// - /// @param size Size of data. - /// - Buffer(size_t size) - { - mData = new byte[size]; - memset(mData, 0, size); - mSize = size; - } - - /// - /// Buffer destructor. - /// - ~Buffer() - { - delete[] mData; - mSize = 0; - } - - /// - /// Set buffer data. - /// - /// @param data Buffer data. - /// @param size Size of data. - /// - void set(byte* data, size_t size) - { - if (data == nullptr) - return; - if (mSize != size) - { - delete mData; - mData = new byte[size]; - } - mSize = size; - memcpy(mData, data, size); - } - - /// - /// Bind buffer data. - /// - /// @param data Buffer data. - /// @param size Size of buffer. - /// - void bind(byte* data, size_t size) - { - if (mData != nullptr) - delete mData; - mSize = size; - mData = data; - } - - /// - /// Buffer assignment. - /// - /// @param buffer Buffer to copy. - /// - void operator = (const Buffer& buffer) - { - delete[] mData; - mSize = buffer.mSize; - mData = new byte[mSize]; - memcpy(mData, buffer.mData, mSize); - } - - /// - /// Get data addresss. - /// - /// @return Data address. - /// - const byte* operator &() - { - return mData; - } - - /// - /// Get data size. - /// - /// @return Size of data. - /// - const inline size_t size() - { - return mSize; - } - - /// - /// Clear data. - /// - void clear() - { - if (mData == nullptr) - return; - delete mData; - mData = nullptr; - mSize = 0; - } - - private: - byte* mData; - size_t mSize; - - }; - - } // namespace Filesystem -} // namespace JinEngine - -#endif // jin_filesystem - -#endif
\ No newline at end of file |