/*
 * Copyright © Dynamsoft Corporation. All rights reserved.
 */

#include "MutableRawBuffer.hpp"

MutableRawBuffer::MutableRawBuffer(uint8_t* data, size_t size, bool freeOnDealloc)
                                : _data(data), _size(size), _freeOnDealloc(freeOnDealloc) {}

MutableRawBuffer::~MutableRawBuffer() {
    if (_freeOnDealloc && _data != nullptr) {
        free(_data);
        _data = nullptr;
    }
}

size_t MutableRawBuffer::size() const {
    return _size;
}

uint8_t* MutableRawBuffer::data() {
    return _data;
}
