summaryrefslogtreecommitdiff
path: root/AudioManagerUtilities/src/CAmSocketHandler.cpp
diff options
context:
space:
mode:
authorChristian Linke <Christian.Linke@bmw.de>2016-05-18 10:05:17 -0700
committerChristian Linke <Christian.Linke@bmw.de>2016-05-18 10:05:31 -0700
commitb2dcab534e50d687f0ec905ba859e60fe519a3c5 (patch)
tree766cee90b6dee637a0d84ae0861aebb611e43bbd /AudioManagerUtilities/src/CAmSocketHandler.cpp
parentfc74b4862d1bf5f0ae2292c49df6f9bd85952edb (diff)
downloadaudiomanager-b2dcab534e50d687f0ec905ba859e60fe519a3c5.tar.gz
try catch for sockethandler callbacks
small improvements of sockethandler. Signed-off-by: Christian Linke <Christian.Linke@bmw.de>
Diffstat (limited to 'AudioManagerUtilities/src/CAmSocketHandler.cpp')
-rw-r--r--AudioManagerUtilities/src/CAmSocketHandler.cpp66
1 files changed, 64 insertions, 2 deletions
diff --git a/AudioManagerUtilities/src/CAmSocketHandler.cpp b/AudioManagerUtilities/src/CAmSocketHandler.cpp
index 3f4534a..1092198 100644
--- a/AudioManagerUtilities/src/CAmSocketHandler.cpp
+++ b/AudioManagerUtilities/src/CAmSocketHandler.cpp
@@ -208,7 +208,7 @@ am_Error_e CAmSocketHandler::addFDPoll(const int fd, const short event, IAmShPol
}
if (mLastInsertedPollHandle==lastHandle)
{
- logError(__PRETTY_FUNCTION__,"Could not create new polls, too many open!");
+ logError(__func__,"Could not create new polls, too many open!");
return (am_Error_e::E_NOT_POSSIBLE);
}
@@ -287,7 +287,7 @@ am_Error_e CAmSocketHandler::addTimer(const timespec timeouts, IAmShTimerCallBac
}
if (lastTimerHandle==mLastInsertedHandle)
{
- logError(__PRETTY_FUNCTION__,"Could not create new timers, too many open!");
+ logError(__func__,"Could not create new timers, too many open!");
return (am_Error_e::E_NOT_POSSIBLE);
}
@@ -583,5 +583,67 @@ inline timespec* CAmSocketHandler::insertTime(timespec& buffertime)
}
}
+void CAmSocketHandler::CAmShCallFire::operator()(sh_poll_s& row)
+{
+ try
+ {
+ row.firedCB->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);
+}
+
+
}