mirror of
https://github.com/nasa/fprime.git
synced 2025-12-10 17:47:10 -06:00
* Add clang tidy check on braces * Merge clang-tidy files * Add documentation and clang-tidy revert changes
135 lines
2.9 KiB
C++
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;
|
|
|
|
}
|
|
|
|
}
|