#include "SerialDataFrame.h"
const int CSerialDataFrame::SerialDataFrameStatusNotDefined = -1;
const int CSerialDataFrame::SerialDataFrameStatusComplete = 0;
const int CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheBeginningPart = 1;
const int CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheEndingPart = 2;
const int CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart = 3;
// Constructor / Destructor
CSerialDataFrame
::CSerialDataFrame(QString data
):serialDataFrameValue(data),
serialDataFrameStatus(SerialDataFrameStatusNotDefined)
{
}
CSerialDataFrame::CSerialDataFrame(const CSerialDataFrame& frame)
{
this->serialDataFrameValue = frame.serialDataFrameValue;
this->serialDataFrameStatus = frame.serialDataFrameStatus;
}
const CSerialDataFrame& CSerialDataFrame::operator+=(const CSerialDataFrame& frame)
{
this->serialDataFrameValue += frame.serialDataFrameValue;
// Beginnig part + middle part = beginning part
if( (this->serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheBeginningPart) && (frame.serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart) )
{
this->serialDataFrameStatus = CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheBeginningPart;
}
// Beginning part + ending part = complete part
else if( (this->serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheBeginningPart) && (frame.serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheEndingPart) )
{
this->serialDataFrameStatus = CSerialDataFrame::SerialDataFrameStatusComplete;
}
// Middle part + middle part = middle part
else if( (this->serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart) && (frame.serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart) )
{
this->serialDataFrameStatus = CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart;
}
// Middle part + ending part = ending part
else if( (this->serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheMiddlePart) && (frame.serialDataFrameStatus == CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheEndingPart) )
{
this->serialDataFrameStatus = CSerialDataFrame::SerialDataFrameStatusIncompleteHasJustTheEndingPart;
}
// Other cases are not defined
else
this->serialDataFrameStatus = CSerialDataFrame::SerialDataFrameStatusNotDefined;
return *this;
}
const CSerialDataFrame& CSerialDataFrame::operator=(const CSerialDataFrame& frame)
{
this->serialDataFrameValue = frame.serialDataFrameValue;
this->serialDataFrameStatus = frame.serialDataFrameStatus;
return *this;
}
bool CSerialDataFrame::operator==(const CSerialDataFrame& frame)
{
if( (this->serialDataFrameValue == frame.serialDataFrameValue) && (this->serialDataFrameStatus == frame.serialDataFrameStatus) )
return true;
else
return false;
}
// Functions
void CSerialDataFrame
::setSerialDataFrameValue(QString value
) {
serialDataFrameValue = value;
}
QString CSerialDataFrame
::getSerialDataFrameValue() const {
return serialDataFrameValue;
}
void CSerialDataFrame::setSerialDataFrameStatus(int value)
{
serialDataFrameStatus = value;
}
int CSerialDataFrame::getSerialDataFrameStatus() const
{
return serialDataFrameStatus;
}
Bookmarks