/* * IMemoryAccess.h * * Created on: 2 нояб. 2016 г. * Author: Gorbunov_DV */ #ifndef SOURCE_PERIPHERAL_IMEMORYACCESS_H_ #define SOURCE_PERIPHERAL_IMEMORYACCESS_H_ #include namespace peripheral { /// \brief Интерфейс для работы с памятью struct IMemoryAccess { //! Функция чтения данных из памяти /*! Функция чтения данных из памяти * * @param data указатель на буфер, куда считывать данные из памяти * @param begin адрес в памяти окуда начинать считывать данные * @param size размер считываемых данных, в байтах * @return признак */ virtual bool read( char * data, std::size_t begin, std::size_t size ) = 0; //!Функция записи данных в память /*!Функция записи данных в память * * @param data указатель данные, которые записываем в память * @param begin адрес в памяти, с которого начинаем запись данных * @param size размер записываемых данных, в байтах * @return признак */ virtual bool write( const char * data, std::size_t begin, std::size_t size ) = 0; //!Функция возвращает признак завершения чтения данных. virtual bool isReadComplete() const { return true; } //!Функция возвращает признак завершения записи данных. virtual bool isWriteComplete() const { return true; } //!Функция возвращает количество выделенной памяти в char'ах. virtual std::size_t getCapacity() const { return 0; } virtual ~IMemoryAccess() = default; }; } // namespace peripheral #endif /* SOURCE_PERIPHERAL_IMEMORYACCESS_H_ */