#pragma once

#include <cstdint>

class SharedDataIface {
public:
    virtual bool Init(uint8_t * p_data, uint32_t size) = 0;

    virtual bool Write(uint32_t offset_bytes, void * p_data, uint32_t length) = 0;

    virtual bool Read(uint32_t offset_bytes, void * p_data, uint32_t length) = 0;
    
    virtual uint32_t Size() const = 0;

    virtual ~SharedDataIface() {}
};