From b2dcab534e50d687f0ec905ba859e60fe519a3c5 Mon Sep 17 00:00:00 2001 From: Christian Linke Date: Wed, 18 May 2016 10:05:17 -0700 Subject: try catch for sockethandler callbacks small improvements of sockethandler. Signed-off-by: Christian Linke --- AudioManagerUtilities/include/CAmSocketHandler.h | 128 +++++------------------ AudioManagerUtilities/src/CAmSocketHandler.cpp | 66 +++++++++++- 2 files changed, 93 insertions(+), 101 deletions(-) diff --git a/AudioManagerUtilities/include/CAmSocketHandler.h b/AudioManagerUtilities/include/CAmSocketHandler.h index edf19fd..5c3c5ba 100644 --- a/AudioManagerUtilities/include/CAmSocketHandler.h +++ b/AudioManagerUtilities/include/CAmSocketHandler.h @@ -26,7 +26,6 @@ #include #include -#include //todo: remove me namespace am { @@ -43,11 +42,8 @@ typedef uint16_t sh_pollHandle_t; //! b.tv_nsec) return (1); //equal - else - return (0); + return (0); } /** @@ -334,56 +317,29 @@ private: private: mListPollfd_t& mArray; public: - CAmShCopyPollfd(mListPollfd_t& dest) : - mArray(dest) - { - } - void operator()(const sh_poll_s& row) - { - pollfd temp = row.pollfdValue; - temp.revents = 0; - mArray.push_back(temp); - } + CAmShCopyPollfd(mListPollfd_t& dest) : mArray(dest) {} + void operator()(const sh_poll_s& row); }; class CAmShCallFire //!< functor to call the firecallbacks { public: - CAmShCallFire() - { - } - ; - void operator()(sh_poll_s& row) - { - row.firedCB->Call(row.pollfdValue, row.handle, row.userData); - } + CAmShCallFire() {}; + void operator()(sh_poll_s& row); }; class CAmShCallPrep //!< functor to call the preparation callbacks { public: - CAmShCallPrep() - { - } - ; - void operator()(sh_poll_s& row) - { - if (row.prepareCB) - row.prepareCB->Call(row.handle, row.userData); - } + CAmShCallPrep() {}; + void operator()(sh_poll_s& row); }; class CAmShCallTimer //!Call(row.handle, row.userData); - } + CAmShCallTimer() {}; + void operator()(sh_timer_s& row); }; class CAmShCountdownUp //!Call(row.pollfdValue, row.handle, row.userData); + } + catch (std::exception& e) + { + logError("Sockethandler: Exception in FireCallback,caught",e.what()); + } +} + +void CAmSocketHandler::CAmShCallPrep::operator()(sh_poll_s& row) +{ + if (row.prepareCB) + { + try + { + row.prepareCB->Call(row.handle, row.userData); + } + catch (std::exception& e) + { + logError("Sockethandler: Exception in Preparecallback,caught",e.what()); + } + } +} + +void CAmSocketHandler::CAmShCallTimer::operator()(sh_timer_s& row) +{ + try + { + row.callback->Call(row.handle, row.userData); + } + catch (std::exception& e) + { + logError("Sockethandler: Exception in Timercallback,caught",e.what()); + } +} + +void CAmSocketHandler::CAmShCopyPollfd::operator()(const sh_poll_s& row) +{ + pollfd temp = row.pollfdValue; + temp.revents = 0; + mArray.push_back(temp); +} + +bool CAmSocketHandler::CAmShCountdownUp::operator()(const sh_timer_s& row) +{ + timespec sub = timespecSub(row.countdown, mDiffTime); + if (sub.tv_nsec == 0 && sub.tv_sec == 0) + return (true); + return (false); +} + +bool CAmSocketHandler::CAmShCountdownZero::operator()(const sh_timer_s& row) +{ + if (row.countdown.tv_nsec == 0 && row.countdown.tv_sec == 0) + return (true); + return (false); +} + + } -- cgit v1.2.1