16#include <CArcPacket.h>
17#include <ArcErrorDefs.h>
18#include <ArcCommandDefs.h>
19#include <CArcDeviceDllMain.h>
49 void assign( std::uint8_t* pData,
const std::uint32_t uiSize );
59 constexpr std::uint32_t
command(
void )
noexcept
69 std::uint32_t
value(
const std::uint32_t uiIndex = 0 )
const;
93 template<
typename... Args> std::enable_if_t<std::conjunction_v<std::is_same<std::uint32_t, Args>...>,
bool>
compare( Args... args )
95 std::array tArgsArray { args... };
97 return std::any_of( std::execution::par, tArgsArray.cbegin(), tArgsArray.cend(), [
this ](
auto uiArg ) { return ( uiArg == this->value() ); } );
127 const std::string
getName(
void )
const override;
130 static constexpr std::uint32_t STATUS_START_INDEX = 1;
135 static constexpr std::uint8_t PAYLOAD_ID = 0xAF;
void assign(std::uint8_t *pData, const std::uint32_t uiSize)
CArcStatusPacket(void)=default
std::uint32_t value(const std::uint32_t uiIndex=0) const
errorCodes_e errorCode(void) noexcept
virtual ~CArcStatusPacket(void)=default
const std::uint32_t * valueData(void)
const std::string getName(void) const override
const std::string errorCodeDescription(void)
bool headerValid(void) const noexcept override
std::uint8_t valueCount(void)
bool containsError(void) noexcept
std::enable_if_t< std::conjunction_v< std::is_same< std::uint32_t, Args >... >, bool > compare(Args... args)
bool compare(const std::uint32_t uiValue=static_cast< std::uint32_t >(cmds_e::DONE)) noexcept
constexpr std::uint32_t command(void) noexcept
bool success(void) noexcept