#ifndef KRIMI_DINNER_ENGINE_ANDROIDASSETMANAGER_H
#define KRIMI_DINNER_ENGINE_ANDROIDASSETMANAGER_H

#include "AssetManager.h"

class AndroidAssetManager : public AssetManager
{
public:
    /// @brief Creates the singleton instance
    ///
    /// Sets @ref AssetManager::ptr to the singleton instance
    /// \param android_asset_manager Pointer to the android asset manager object
    static void create(AAssetManager* android_asset_manager);

    bool loadFile(const char* path, FileBuffer* p_file_buffer) override;

    void releaseFileBuffer(FileBuffer& fb) override;

private:
    AndroidAssetManager();
    ~AndroidAssetManager();

    AAssetManager* m_asset_mgr;
};

#endif
