ProxySignalType mProxySignal;
};
+// Proxy class of WebViewFormRepostDecisionSignal.
+// WebViewFormRepostDecisionSignal has an argument of std::shared_ptr type which is not supported at C# side.
+// The purpose of this class is to convert signal argument of std::shared_ptr type safely.
+class WebViewFormRepostDecisionSignal : public Dali::ConnectionTracker
+{
+public:
+ using NativeSignalType = Dali::Signal<void(Dali::Toolkit::WebView, std::shared_ptr<Dali::Toolkit::WebFormRepostDecision>)>;
+ using ProxySignalType = Dali::Signal<void(Dali::Toolkit::WebView, Dali::Toolkit::WebFormRepostDecision*)>;
+ using CallbackType = void (*)(Dali::Toolkit::WebView, Dali::Toolkit::WebFormRepostDecision*);
+
+ WebViewFormRepostDecisionSignal(NativeSignalType* signal)
+ : mNativeSignalPtr(signal)
+ {
+ }
+
+ ~WebViewFormRepostDecisionSignal()
+ {
+ if (!mProxySignal.Empty())
+ {
+ mNativeSignalPtr->Disconnect(this, &SignalConverter::WebViewFormRepostDecisionSignal::OnEmit);
+ }
+ }
+
+ void Connect(CallbackType csharpCallback)
+ {
+ if (mNativeSignalPtr->Empty())
+ {
+ mNativeSignalPtr->Connect(this, &SignalConverter::WebViewFormRepostDecisionSignal::OnEmit);
+ }
+ mProxySignal.Connect(csharpCallback);
+ }
+
+ void Disconnect(CallbackType csharpCallback)
+ {
+ mProxySignal.Disconnect(csharpCallback);
+ if (mProxySignal.Empty())
+ {
+ mNativeSignalPtr->Disconnect(this, &SignalConverter::WebViewFormRepostDecisionSignal::OnEmit);
+ }
+ }
+
+ void OnEmit(Dali::Toolkit::WebView webview, std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> decision)
+ {
+ mFormRepostDecision = std::move(decision);
+ mProxySignal.Emit(webview, mFormRepostDecision.get());
+ }
+
+private:
+ NativeSignalType* mNativeSignalPtr;
+ ProxySignalType mProxySignal;
+ std::shared_ptr<Dali::Toolkit::WebFormRepostDecision> mFormRepostDecision;
+};
+
} // namespace SignalConverter
#endif // __DALI_CSHARP_BINDER_WEB_VIEW_SIGNAL_CONVERTER_H__
#include <dali-toolkit/devel-api/controls/web-view/web-back-forward-list.h>
#include <dali-toolkit/devel-api/controls/web-view/web-context.h>
#include <dali-toolkit/devel-api/controls/web-view/web-cookie-manager.h>
+#include <dali-toolkit/devel-api/controls/web-view/web-form-repost-decision.h>
#include <dali-toolkit/devel-api/controls/web-view/web-settings.h>
#include <dali-toolkit/devel-api/controls/web-view/web-view.h>
#include <dali/public-api/common/dali-common.h>
SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_new_WebViewUrlChangedSignal_UrlChanged(void *jarg1) {
Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1;
- SignalConverter::WebViewUrlChangedSignal *result = 0;
+ SignalConverter::WebViewUrlChangedSignal* result = 0;
{
try {
result = new SignalConverter::WebViewUrlChangedSignal(&webview->UrlChangedSignal());
}
}
+SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_new_WebViewFormRepostDecisionSignal_FormRepostDecision(void* jarg1) {
+ Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1;
+ SignalConverter::WebViewFormRepostDecisionSignal* result = 0;
+ {
+ try {
+ result = new SignalConverter::WebViewFormRepostDecisionSignal(&webview->FormRepostDecisionSignal());
+ } CALL_CATCH_EXCEPTION(0);
+ }
+ return (void*)result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_WebViewFormRepostDecisionSignal(void* jarg1) {
+ SignalConverter::WebViewFormRepostDecisionSignal* object = (SignalConverter::WebViewFormRepostDecisionSignal*)jarg1;
+ {
+ try {
+ delete object;
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewFormRepostDecisionSignal_Connect(void* jarg1, void* jarg2) {
+ SignalConverter::WebViewFormRepostDecisionSignal* proxy = (SignalConverter::WebViewFormRepostDecisionSignal*)jarg1;
+ SignalConverter::WebViewFormRepostDecisionSignal::CallbackType callback = (SignalConverter::WebViewFormRepostDecisionSignal::CallbackType)jarg2;
+ {
+ try {
+ proxy->Connect(callback);
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewFormRepostDecisionSignal_Disconnect(void* jarg1, void* jarg2) {
+ SignalConverter::WebViewFormRepostDecisionSignal* proxy = (SignalConverter::WebViewFormRepostDecisionSignal*)jarg1;
+ SignalConverter::WebViewFormRepostDecisionSignal::CallbackType callback = (SignalConverter::WebViewFormRepostDecisionSignal::CallbackType)jarg2;
+ {
+ try {
+ proxy->Disconnect(callback);
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
+SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_WebViewFrameRenderedSignal_FrameRendered(void* jarg1) {
+ Dali::Toolkit::WebView* webview = (Dali::Toolkit::WebView*)jarg1;
+ Dali::Toolkit::WebView::WebViewFrameRenderedSignalType* result = 0;
+ {
+ try {
+ result = (Dali::Toolkit::WebView::WebViewFrameRenderedSignalType*)(&(webview->FrameRenderedSignal()));
+ } CALL_CATCH_EXCEPTION(0);
+ }
+ return (void *)result;
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewFrameRenderedSignal_Connect(void* jarg1, void* jarg2) {
+ Dali::Toolkit::WebView::WebViewFrameRenderedSignalType* proxy = (Dali::Toolkit::WebView::WebViewFrameRenderedSignalType*)jarg1;
+ void (*callback)(Dali::Toolkit::WebView) = (void (*)(Dali::Toolkit::WebView))jarg2;
+ {
+ try {
+ proxy->Connect(callback);
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebViewFrameRenderedSignal_Disconnect(void* jarg1, void* jarg2) {
+ Dali::Toolkit::WebView::WebViewFrameRenderedSignalType* proxy = (Dali::Toolkit::WebView::WebViewFrameRenderedSignalType*)jarg1;
+ void (*callback)(Dali::Toolkit::WebView) = (void (*)(Dali::Toolkit::WebView))jarg2;
+ {
+ try {
+ proxy->Disconnect(callback);
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
//----------------------------------WebBackForwardList-----------------------------------------------------
SWIGEXPORT const char * SWIGSTDCALL CSharp_Dali_WebBackForwardListItem_GetUrl(void *jarg1) {
Dali::Toolkit::WebBackForwardListItem *arg1 = (Dali::Toolkit::WebBackForwardListItem *)0;
}
}
+//----------------------------------WebFormRepostDecision---------------------------------------------------
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebFormRepostDecision_Reply(void *jarg1, bool jarg2) {
+ Dali::Toolkit::WebFormRepostDecision* arg1 = (Dali::Toolkit::WebFormRepostDecision*)jarg1;
+ {
+ try {
+ arg1->Reply(jarg2);
+ } CALL_CATCH_EXCEPTION();
+ }
+}
+
//----------------------------------WebSettings---------------------------------------------------
SWIGEXPORT void SWIGSTDCALL CSharp_Dali_WebSettings_AllowMixedContents(void *jarg1, bool jarg2) {
Dali::Toolkit::WebSettings *arg1 = (Dali::Toolkit::WebSettings *)0;