// CLASS HEADER
#include "abort-handler.h"
+// EXTERNAL INCLUDES
+#include <cstring>
+
namespace Dali
{
namespace Internal
AbortHandler* AbortHandler::gInstance(NULL);
-AbortHandler::AbortHandler(boost::function<void(void)> callback)
+AbortHandler::AbortHandler( CallbackBase* callback )
: mSignalMask( 0 ),
mCallback( callback )
{
AbortHandler::~AbortHandler()
{
+ delete mCallback;
+
int signum;
for ( signum = 1; signum < _NSIG; 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;
}
{
if( gInstance->mCallback )
{
- gInstance->mCallback();
+ CallbackBase::Execute( *gInstance->mCallback );
}
}
}