diff --git a/P25Data.cpp b/P25Data.cpp index e6378cd..7bc08cd 100644 --- a/P25Data.cpp +++ b/P25Data.cpp @@ -55,6 +55,25 @@ CP25Data::~CP25Data() delete[] m_mi; } +CP25Data& CP25Data::operator=(const CP25Data& data) +{ + if (this != &data) { + m_mfId = data.m_mfId; + + m_srcId = data.m_srcId; + m_dstId = data.m_dstId; + + m_emergency = data.m_emergency; + + m_algId = data.m_algId; + m_kId = data.m_kId; + + ::memcpy(m_mi, data.m_mi, P25_MI_LENGTH_BYTES); + } + + return *this; +} + bool CP25Data::decodeHeader(const unsigned char* data) { assert(data != NULL); diff --git a/P25Data.h b/P25Data.h index 3d312d8..999155c 100644 --- a/P25Data.h +++ b/P25Data.h @@ -27,6 +27,8 @@ class CP25Data { public: CP25Data(); ~CP25Data(); + + CP25Data& operator=(const CP25Data& data); bool decodeHeader(const unsigned char* data); void encodeHeader(unsigned char* data);