#include "PrtCnvMember.hpp" #include namespace PrtCnv { PrtCnvMember::PrtCnvMember(int a_id, int a_issi) : m_ISSI(a_issi) , m_ClaimCount(0) , m_loggedInExerciseId(0) , m_Id(a_id) , m_Licensed(false) {} PrtCnvMember::~PrtCnvMember() { clearFragmentedList(); } void PrtCnvMember::addFragmentedTelegram(const N_CoPrtCnv::CoPrtCnvRadioTelegram &a_radioTelegram) { m_FragmentedTelegramList.insert(std::make_pair(a_radioTelegram.getFragmentCounter(), new N_CoPrtCnv::CoPrtCnvRadioTelegram(a_radioTelegram))); } gef_telegramm_id_et PrtCnvMember::getFragmentedTelegramId() const { for (auto rit = m_FragmentedTelegramList.rbegin(); rit != m_FragmentedTelegramList.rend(); ++rit) { N_CoPrtCnv::CoPrtCnvRadioTelegram *firstFragment = rit->second; if (N_CoPrtCnv::CoPrtCnvRadioTelegram::e_FirstFragment == firstFragment->getFragmentStatus()) return firstFragment->getTelID(); } return GEF_BESTAETIGUNG; } void PrtCnvMember::clearFragmentedList() { for (auto it : m_FragmentedTelegramList) delete it.second; m_FragmentedTelegramList.clear(); } QByteArray PrtCnvMember::getUnfragmentedTelegramData() const { return N_CoPrtCnv::CoPrtCnvRadioTelegram::getUnfragmentedData(m_FragmentedTelegramList); } bool PrtCnvMember::isFragmentedListEmpty() const { return m_FragmentedTelegramList.empty(); } }