Remove use of map-wrapper in adaptor
[platform/core/uifw/dali-adaptor.git] / adaptors / common / abort-handler.cpp
index 5508ecc..6f507a9 100644 (file)
  *
  */
 
+// CLASS HEADER
 #include "abort-handler.h"
 
+// EXTERNAL INCLUDES
+#include <cstring>
+
 namespace Dali
 {
 namespace Internal
@@ -26,7 +30,7 @@ namespace Adaptor
 
 AbortHandler* AbortHandler::gInstance(NULL);
 
-AbortHandler::AbortHandler(boost::function<void(void)> callback)
+AbortHandler::AbortHandler( CallbackBase* callback )
 : mSignalMask( 0 ),
   mCallback( callback )
 {
@@ -38,6 +42,8 @@ AbortHandler::AbortHandler(boost::function<void(void)> callback)
 
 AbortHandler::~AbortHandler()
 {
+  delete mCallback;
+
   int signum;
   for ( signum = 1; signum < _NSIG; signum++ )
   {
@@ -58,13 +64,17 @@ bool AbortHandler::AbortOnSignal( int signum )
   {
     SignalHandlerFuncPtr signalHandlerPrevious = signal( signum, &AbortHandler::SignalHandler );
 
-    if ( SIG_ERR != signalHandlerPrevious )
+// SIG_ERR is a macro with C cast
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+  if ( SIG_ERR != signalHandlerPrevious )
     {
       mSignalOldHandlers[signum-1] = signalHandlerPrevious;
       mSignalMask |= ( 1 << (signum-1) );
       status = true;
     }
   }
+#pragma GCC diagnostic pop
   return status;
 }
 
@@ -74,7 +84,7 @@ void AbortHandler::SignalHandler( int signum )
   {
     if( gInstance->mCallback )
     {
-      gInstance->mCallback();
+      CallbackBase::Execute( *gInstance->mCallback );
     }
   }
 }