MotorControlModuleSDFM_TMS3.../Projects/EFC_Communication/UMLibrary/peripheral/IMemoryAccess.hh

52 lines
2.1 KiB
C++
Raw Permalink Normal View History

2024-06-07 11:12:56 +03:00
/*
* IMemoryAccess.h
*
* Created on: 2 нояб. 2016 г.
* Author: Gorbunov_DV
*/
#ifndef SOURCE_PERIPHERAL_IMEMORYACCESS_H_
#define SOURCE_PERIPHERAL_IMEMORYACCESS_H_
#include <cstddef>
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_ */