MotorControlModuleSDFM_TMS3.../Projects/EFC_Application/UMLibrary/systemic/FlushString.cpp

42 lines
1.2 KiB
C++

/*
* FlushString.cpp
*
* Created on: 25 ÿíâ. 2021 ã.
* Author: titov
*/
#include "FlushString.hh"
systemic::FlushString::FlushString(systemic::CustomParameters & cp,
std::pair<const char*, std::size_t> string,
systemic::CustomParameters::ProviderId provider_id, systemic::CustomParameters::Id parameter_id ) :
cp(cp), string(string), provider_id(provider_id), parameter_id(parameter_id) {}
void systemic::FlushString::flush() {
if( not cp.flushString(provider_id, parameter_id, string) )
throw FlushException( provider_id );
}
std::size_t systemic::FlushString::FlushException::id() const noexcept {
return 83;
}
std::pair<const char*, std::size_t> systemic::FlushString::FlushException::binary() const noexcept {
return {reinterpret_cast<const char *>( this ), sizeof(systemic::FlushString::FlushException)};
}
const char * systemic::FlushString::FlushException::what() const noexcept {
return "cannot flush data";
}
systemic::FlushString::FlushException::FlushException(
systemic::CustomParameters::Id parameter_id ) : parameter_id(parameter_id) {}