Files
Simple-Protocol-Lib/include/sp/io/MessageEncapsulator.h
Persson-dev ed0b06f78d
All checks were successful
Linux arm64 / Build (push) Successful in 19s
finish io
2025-06-27 18:53:03 +02:00

32 lines
612 B
C++

#pragma once
#include <sp/common/DataBuffer.h>
namespace sp {
class MessageEncapsulator {
protected:
bool m_Enabled = true;
public:
MessageEncapsulator() {}
virtual ~MessageEncapsulator() {}
DataBuffer Encapsulate(const DataBuffer& a_Data) {
if (!m_Enabled)
return a_Data;
return EncapsulateImpl(a_Data);
}
DataBuffer Decapsulate(DataBuffer& a_Data) {
if (!m_Enabled)
return a_Data;
return DecapsulateImpl(a_Data);
}
protected:
virtual DataBuffer EncapsulateImpl(const DataBuffer& a_Data) = 0;
virtual DataBuffer DecapsulateImpl(DataBuffer& a_Data) = 0;
};
} // namespace sp