From: Taehyub Kim Date: Fri, 15 Sep 2023 03:01:59 +0000 (+0900) Subject: Binding for DragAndDrop Window APIs X-Git-Tag: accepted/tizen/unified/20230919.091807~1^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f48a272d90a7dbaa86f148d4d43edc55c714dc85;p=platform%2Fcore%2Fuifw%2Fdali-csharp-binder.git Binding for DragAndDrop Window APIs Change-Id: I3bbe5ad11ca5dd98a8ae4fe305fc025a400928dd --- diff --git a/dali-csharp-binder/dali-adaptor/drag-and-drop-wrap.cpp b/dali-csharp-binder/dali-adaptor/drag-and-drop-wrap.cpp index 4589ada0..f3f2f337 100644 --- a/dali-csharp-binder/dali-adaptor/drag-and-drop-wrap.cpp +++ b/dali-csharp-binder/dali-adaptor/drag-and-drop-wrap.cpp @@ -153,6 +153,62 @@ SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_RemoveListener(void * argDnD return result; } +SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_Window_AddListener(void * argDnD, void * argTarget, void * argCallback) { + Dali::DragAndDrop *dnd = (Dali::DragAndDrop *)argDnD; + if (!dnd) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return false; + } + + Dali::Window *pTarget; + Dali::Window target; + + pTarget = (Dali::Window *)argTarget; + if (!pTarget) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return false; + } + + target = *pTarget; + bool result = false; + { + try { + dndCallback = (DnDCallback)argCallback; + result = dnd->AddListener(target, dndCallback); + } + CALL_CATCH_EXCEPTION(0); + } + return result; +} + +SWIGEXPORT bool SWIGSTDCALL CSharp_Dali_DragAndDrop_Window_RemoveListener(void * argDnD, void * argTarget, void * argCallback) { + Dali::DragAndDrop *dnd = (Dali::DragAndDrop *)argDnD; + if (!dnd) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return false; + } + + Dali::Window *pTarget; + Dali::Window target; + + pTarget = (Dali::Window *)argTarget; + if (!pTarget) { + SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, nullExceptMsg, 0); + return false; + } + + target = *pTarget; + bool result = false; + { + try { + //TODO: use argCallback to remove target listener + result = dnd->RemoveListener(target); + } + CALL_CATCH_EXCEPTION(0); + } + return result; +} + SWIGEXPORT int SWIGSTDCALL CSharp_Dali_DragEvent_GetAction(void * jarg) { int jresult; Dali::DragAndDrop::DragEvent *dragEvent = (Dali::DragAndDrop::DragEvent *)jarg;