filter->BeginTrace(tag, message); \
}
+#define DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(filter, tag, messageGenerator) \
+ if(filter && filter->IsTraceEnabled()) \
+ { \
+ std::ostringstream oss; \
+ messageGenerator(oss); \
+ filter->BeginTrace(tag, oss.str().c_str()); \
+ }
+
/**
* End of tracing
*/
filter->EndTrace(tag, message); \
}
+#define DALI_TRACE_END_WITH_MESSAGE_GENERATOR(filter, tag, messageGenerator) \
+ if(filter && filter->IsTraceEnabled()) \
+ { \
+ std::ostringstream oss; \
+ messageGenerator(oss); \
+ filter->EndTrace(tag, oss.str().c_str()); \
+ }
+
/**
* Used for function tracing. It logs tracing of the fuction from start to end.
*/
#define DALI_INIT_TRACE_FILTER(name, tag, enable)
#define DALI_TRACE_BEGIN(filter, tag)
#define DALI_TRACE_BEGIN_WITH_MESSAGE(filter, tag, message)
+#define DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(filter, tag, messageGenerator)
#define DALI_TRACE_END(filter, tag)
#define DALI_TRACE_END_WITH_MESSAGE(filter, tag, message)
+#define DALI_TRACE_END_WITH_MESSAGE_GENERATOR(filter, tag, messageGenerator)
#define DALI_TRACE_FUNCTION(filter)
#define DALI_TRACE_SCOPE(filter, tag)
{
if(mProcessors.Count() != 0)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mProcessors.Count() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", [&](std::ostringstream& oss) {
+ oss << "[" << mProcessors.Count() << "]";
+ });
// Copy processor pointers to prevent changes to vector affecting loop iterator.
Dali::Vector<Integration::Processor*> processors(mProcessors);
{
if(!mProcessorUnregistered)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
processor->Process(false);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
}
else
{
auto iter = std::find(mProcessors.Begin(), mProcessors.End(), processor);
if(iter != mProcessors.End())
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
processor->Process(false);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
}
}
}
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mProcessors.Count();
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", [&](std::ostringstream& oss) {
+ oss << "[" << mProcessors.Count();
if(mProcessorUnregistered)
{
- stream << ", processor changed";
+ oss << ", processor changed";
}
- stream << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", stream.str().c_str());
- }
-#endif
+ oss << "]";
+ });
}
}
{
if(mPostProcessors.Count() != 0)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mPostProcessors.Count() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", [&](std::ostringstream& oss) {
+ oss << "[" << mPostProcessors.Count() << "]";
+ });
// Copy processor pointers to prevent changes to vector affecting loop iterator.
Dali::Vector<Integration::Processor*> processors(mPostProcessors);
{
if(!mPostProcessorUnregistered)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
processor->Process(true);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
}
else
{
auto iter = std::find(mPostProcessors.Begin(), mPostProcessors.End(), processor);
if(iter != mPostProcessors.End())
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
processor->Process(true);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << processor->GetProcessorName() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSOR", [&](std::ostringstream& oss) {
+ oss << "[" << processor->GetProcessorName() << "]";
+ });
}
}
}
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mPostProcessors.Count();
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", [&](std::ostringstream& oss) {
+ oss << "[" << mPostProcessors.Count();
if(mPostProcessorUnregistered)
{
- stream << ", post processor changed";
+ oss << ", processor changed";
}
- stream << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", stream.str().c_str());
- }
-#endif
+ oss << "]";
+ });
}
}
const MessageContainer::Iterator end = mImpl->eventMessageQueue.End();
if(iter != end)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mImpl->eventMessageQueue.Count() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", [&](std::ostringstream& oss) {
+ oss << "[" << mImpl->eventMessageQueue.Count() << "]";
+ });
for(; iter != end; ++iter)
{
(*iter)->Process(0u /*ignored*/);
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mImpl->eventMessageQueue.Count() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", [&](std::ostringstream& oss) {
+ oss << "[" << mImpl->eventMessageQueue.Count() << "]";
+ });
}
// release the processed messages from event side queue
mImpl->eventMessageQueue.Clear();
const InterfaceContainer::iterator end2 = mImpl->eventInterfaceQueue.end();
if(iter2 != end2)
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mImpl->eventInterfaceQueue.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", [&](std::ostringstream& oss) {
+ oss << "[" << mImpl->eventInterfaceQueue.size() << "]";
+ });
for(; iter2 != end2; ++iter2)
{
CompleteNotificationInterface* interface = iter2->first;
interface->NotifyCompleted(std::move(iter2->second));
}
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mImpl->eventInterfaceQueue.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", [&](std::ostringstream& oss) {
+ oss << "[" << mImpl->eventInterfaceQueue.size() << "]";
+ });
}
// just clear the container, we dont own the objects
mImpl->eventInterfaceQueue.clear();
keyEvent->SetWindowId(event.windowId);
Dali::KeyEvent keyEventHandle(keyEvent.Get());
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[name:" << event.keyName << ", code:" << event.keyCode << ", state:" << KEY_EVENT_STATES[event.state] << ", time:" << event.time << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_PROCESS_KEY_EVENT", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_PROCESS_KEY_EVENT", [&](std::ostringstream& oss) {
+ oss << "[name:" << event.keyName << ", code:" << event.keyCode << ", state:" << KEY_EVENT_STATES[event.state] << ", time:" << event.time << "]";
+ });
// Emit the key event signal from the scene.
bool consumed = mScene.EmitInterceptKeyEventSignal(keyEventHandle);
{
mScene.EmitKeyEventSignal(keyEventHandle);
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- DALI_TRACE_END(gTraceFilter, "DALI_PROCESS_KEY_EVENT");
- }
-#endif
+ DALI_TRACE_END(gTraceFilter, "DALI_PROCESS_KEY_EVENT");
}
} // namespace Internal
longPress->SetSourceType(longPressEvent.sourceType);
longPress->SetSourceData(longPressEvent.sourceData);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
Dali::Actor actorHandle(actor);
const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
static_cast<LongPressGestureDetector*>(*iter)->EmitLongPressGestureSignal(actorHandle, Dali::LongPressGesture(longPress.Get()));
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
}
/**
mSceneObject->AddGesture(*pan.Get());
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
Dali::Actor actorHandle(actor);
static_cast<PanGestureDetector*>(*iter)->EmitPanGestureSignal(actorHandle, Dali::PanGesture(pan.Get()));
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
}
}
pinch->SetSourceType(pinchEvent.sourceType);
pinch->SetSourceData(pinchEvent.sourceData);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
Dali::Actor actorHandle(actor);
const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
static_cast<PinchGestureDetector*>(*iter)->EmitPinchGestureSignal(actorHandle, Dali::PinchGesture(pinch.Get()));
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
}
/**
rotation->SetSourceType(rotationEvent.sourceType);
rotation->SetSourceData(rotationEvent.sourceData);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
Dali::Actor actorHandle(actor);
const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
static_cast<RotationGestureDetector*>(*iter)->EmitRotationGestureSignal(actorHandle, Dali::RotationGesture(rotation.Get()));
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
}
/**
tap->SetSourceType(tapEvent.sourceType);
tap->SetSourceData(tapEvent.sourceData);
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
Dali::Actor actorHandle(actor);
const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
static_cast<TapGestureDetector*>(*iter)->EmitTapGestureSignal(actorHandle, Dali::TapGesture(tap.Get()));
}
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << gestureDetectors.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", [&](std::ostringstream& oss) {
+ oss << "[" << gestureDetectors.size() << "]";
+ });
}
} // unnamed namespace
if(!mFrameCallbacks.empty())
{
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mFrameCallbacks.size() << "]";
- DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_BEGIN_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", [&](std::ostringstream& oss) {
+ oss << "[" << mFrameCallbacks.size() << "]";
+ });
// If any of the FrameCallback::Update calls returns false, then they are no longer required & can be removed.
auto iter = std::remove_if(
});
mFrameCallbacks.erase(iter, mFrameCallbacks.end());
-#ifdef TRACE_ENABLED
- if(gTraceFilter && gTraceFilter->IsTraceEnabled())
- {
- std::ostringstream stream;
- stream << "[" << mFrameCallbacks.size() << "]";
- DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", stream.str().c_str());
- }
-#endif
+ DALI_TRACE_END_WITH_MESSAGE_GENERATOR(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", [&](std::ostringstream& oss) {
+ oss << "[" << mFrameCallbacks.size() << "]";
+ });
}
mNodeHierarchyChanged = false;