fprime/Fw/FilePacket/StartPacket.cpp
Johan Bertrand eb518e9f1d
Update of clang tidy checks (#2710)
* Add clang tidy check on braces

* Merge clang-tidy files

* Add documentation and clang-tidy revert changes
2024-05-02 11:34:52 -07:00

135 lines
2.9 KiB
C++

// ======================================================================
// \title StartPacket.cpp
// \author bocchino
// \brief cpp file for FilePacket::StartPacket
//
// \copyright
// Copyright 2009-2016, by the California Institute of Technology.
// ALL RIGHTS RESERVED. United States Government Sponsorship
// acknowledged.
//
// ======================================================================
#include <Fw/FilePacket/FilePacket.hpp>
#include <Fw/Types/Assert.hpp>
namespace Fw {
void FilePacket::StartPacket ::
initialize(
const U32 fileSize,
const char *const sourcePath,
const char *const destinationPath
)
{
this->m_header.initialize(FilePacket::T_START, 0);
this->m_fileSize = fileSize;
this->m_sourcePath.initialize(sourcePath);
this->m_destinationPath.initialize(destinationPath);
}
U32 FilePacket::StartPacket ::
bufferSize() const
{
return static_cast<U32>(
this->m_header.bufferSize() +
sizeof(this->m_fileSize) +
this->m_sourcePath.bufferSize() +
this->m_destinationPath.bufferSize());
}
SerializeStatus FilePacket::StartPacket ::
toBuffer(Buffer& buffer) const
{
SerialBuffer serialBuffer(
buffer.getData(),
buffer.getSize()
);
return this->toSerialBuffer(serialBuffer);
}
SerializeStatus FilePacket::StartPacket ::
fromSerialBuffer(SerialBuffer& serialBuffer)
{
FW_ASSERT(this->m_header.m_type == T_START);
{
const SerializeStatus status =
serialBuffer.deserialize(this->m_fileSize);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
{
const SerializeStatus status =
this->m_sourcePath.fromSerialBuffer(serialBuffer);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
{
const SerializeStatus status =
this->m_destinationPath.fromSerialBuffer(serialBuffer);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
return FW_SERIALIZE_OK;
}
SerializeStatus FilePacket::StartPacket ::
toSerialBuffer(SerialBuffer& serialBuffer) const
{
FW_ASSERT(this->m_header.m_type == T_START);
{
const SerializeStatus status =
this->m_header.toSerialBuffer(serialBuffer);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
{
const SerializeStatus status =
serialBuffer.serialize(this->m_fileSize);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
{
const SerializeStatus status =
this->m_sourcePath.toSerialBuffer(serialBuffer);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
{
const SerializeStatus status =
this->m_destinationPath.toSerialBuffer(serialBuffer);
if (status != FW_SERIALIZE_OK) {
return status;
}
}
return FW_SERIALIZE_OK;
}
}