Program Listing for File ResourceLoader.hpp

Return to documentation for file (include/ari/ResourceLoader.hpp)

#pragma once
#include "aridef.hpp"
#include <vector>
#include "bx/readerwriter.h"
#include "bx/file.h"

namespace ari
{
    class Resource;

    class ARI_API ResourceLoader
    {
    public:

        ResourceLoader() : m_bSwapEndian(false)
        {}

        virtual ~ResourceLoader() = default;

        virtual bool IsALoadableFileExtension(std::string _extention);


        virtual Resource* LoadResource(bx::FileReaderI* pStream, uint32_t _handle,
            const std::string& _filename, void* _extraParams) = 0;

    protected:

        std::vector<std::string>            m_aFileExtension;
        bool                                m_bSwapEndian;

    };

} // ari