#ifndef __MESH_LOADER__
#define __MESH_LOADER__

#include <string>
#include <memory>
#include "../io/filesystem.h"

namespace sleek
{
    namespace driver
    {
        class MeshBuffer;
    }
    namespace loader
    {
        class meshloader
        {
            public:
                virtual std::shared_ptr<driver::MeshBuffer> read(io::filesystem*, const std::string&) const noexcept = 0;

                virtual bool write(io::filesystem*, driver::MeshBuffer*, const std::string&) const noexcept = 0;

                virtual bool match(const std::string&) const noexcept = 0;
        };
    }
}

#endif // __MESH_LOADER__