Add API for setting resource destruction callback
[platform/core/uifw/dali-adaptor.git] / dali / internal / imaging / tizen / native-image-source-impl-tizen.cpp
index a6e7cc6..f8e8f7c 100644 (file)
@@ -86,7 +86,9 @@ NativeImageSourceTizen::NativeImageSourceTizen(uint32_t width, uint32_t height,
   mEglImageExtensions(NULL),
   mSetSource(false),
   mMutex(),
-  mIsBufferAcquired(false)
+  mIsBufferAcquired(false),
+  mResourceDestructionCallback()
+
 {
   DALI_ASSERT_ALWAYS(Adaptor::IsAvailable());
 
@@ -431,6 +433,11 @@ void NativeImageSourceTizen::DestroyResource()
 
     mEglImageKHR = NULL;
   }
+
+  if(mResourceDestructionCallback)
+  {
+    mResourceDestructionCallback->Trigger();
+  }
 }
 
 uint32_t NativeImageSourceTizen::TargetTexture()
@@ -547,6 +554,11 @@ bool NativeImageSourceTizen::ReleaseBuffer()
   return ret;
 }
 
+void NativeImageSourceTizen::SetResourceDestructionCallback(EventThreadCallback* callback)
+{
+  mResourceDestructionCallback = std::unique_ptr<EventThreadCallback>(callback);
+}
+
 } // namespace Adaptor
 
 } // namespace Internal