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

52 lines
1.6 KiB
C++
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* 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_ */