#ifndef ABSTRACTBUFFERPROVIDER_HPP_INCLUDED
#define ABSTRACTBUFFERPROVIDER_HPP_INCLUDED

#include "../JavaClass/Object.hpp"
#include "../JavaClass/Class.hpp"
#include <cstdint>
#include <vector>

namespace Internal
{
    class AbstractBufferProvider : public Object
    {
        public:
            AbstractBufferProvider(const void* Obj);

            AbstractBufferProvider() = default;
            AbstractBufferProvider(AbstractBufferProvider&& Obj) = default;
            AbstractBufferProvider(const AbstractBufferProvider& Obj) = default;
            AbstractBufferProvider& operator=(AbstractBufferProvider&& Obj) = default;
            AbstractBufferProvider& operator=(const AbstractBufferProvider& Obj) = default;

            static Class GetClass();

            std::vector<std::int32_t> GetPixels() const;

    };
}

#endif // ABSTRACTBUFFERPROVIDER_HPP_INCLUDED
