+void NativeRenderSurfaceEcoreWl::TriggerFrameRenderedCallback()
+{
+ if(mFrameRenderedCallback)
+ {
+ mFrameRenderedCallback->Trigger();
+ }
+}
+
+void NativeRenderSurfaceEcoreWl::SetFrameRenderedCallback(CallbackBase* callback)
+{
+ mFrameRenderedCallback = std::unique_ptr<EventThreadCallback>(new EventThreadCallback(callback));
+
+ tbm_surface_queue_error_e result = tbm_surface_queue_add_acquirable_cb(mTbmQueue, TbmAcquirableCallback, this);
+ if(result != TBM_ERROR_NONE)
+ {
+ DALI_LOG_ERROR("Failed calling tbm_surface_queue_add_acquirable_cb(), error : %x", result);
+ }
+}
+