Export APIs like connect/disconnect etc directly in Signal. 61/318761/5
authorhuayong.xu <huayong.xu@samsung.com>
Thu, 23 Jan 2025 09:13:49 +0000 (17:13 +0800)
committerhuayong.xu <huayong.xu@samsung.com>
Thu, 23 Jan 2025 11:30:46 +0000 (19:30 +0800)
Originally a Signal is exported, and connect/disconnect of the Signal
are exported.
Now the Signal is not exported, just its APIs are exported.

Change-Id: I319579359a8b936bd6154c878ada7bc0d0f2c6d7

dali-csharp-binder/common/signal-wrap.cpp
dali-csharp-binder/dali-toolkit/control-devel-wrap.cpp
dali-csharp-binder/dali-toolkit/dali-toolkit-wrap.cpp

index aa14b342f7b51d8026352a21dd33ee91ac2c45d4..fdf7a5c04f51e056a5bd624d3cfe607e4e3f9218 100644 (file)
@@ -28,65 +28,6 @@ extern "C" {
  *     AccessibilityGetDescription
  */
 
-using StringToVoidFunc = void (*)(std::string &);
-using StringToVoidSignal = Dali::Signal<void(std::string &)>;
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_Empty(void *arg1) {
-  bool result = false;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-      auto object = (StringToVoidSignal*)arg1;
-      result = object->Empty();
-  }));
-  return result;
-}
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_GetConnectionCount(void *arg1) {
-  std::size_t result = 0;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-      auto object = (StringToVoidSignal*)arg1;
-      result = object->GetConnectionCount();
-  }));
-  return result;
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_Connect(void *arg1, void *arg2) {
-  GUARD_ON_NULL_RET(arg1);
-  GUARD_ON_NULL_RET(arg2);
-  try_catch(([&]() {
-      auto object = (StringToVoidSignal*)arg1;
-      auto func = (StringToVoidFunc)arg2;
-      object->Connect(func);
-  }));
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_Disconnect(void *arg1, void *arg2) {
-  GUARD_ON_NULL_RET(arg1);
-  GUARD_ON_NULL_RET(arg2);
-  try_catch(([&] () {
-      auto object = (StringToVoidSignal*)arg1;
-      auto func = (StringToVoidFunc)arg2;
-      object->Disconnect(func);
-  }));
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_new() {
-  StringToVoidSignal* ret = nullptr;
-  try_catch(([&]() {
-      ret = new StringToVoidSignal();
-  }));
-  return ret;
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_delete(void *arg1) {
-  GUARD_ON_NULL_RET(arg1);
-  try_catch(([&]() {
-      auto object = (StringToVoidSignal*)arg1;
-      delete object;
-  }));
-}
-
 SWIGEXPORT char * SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_GetResult(void *arg1) {
   GUARD_ON_NULL_RET0(arg1);
   std::string *data = (std::string*)arg1;
@@ -108,74 +49,6 @@ SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_StringToVoid_SetResult(void *arg1
  */
 
 using GesturePair = std::pair<Dali::Accessibility::GestureInfo, bool>;
-using GesturePairFunc = void (*)(GesturePair &);
-using GesturePairSignal = Dali::Signal<void(GesturePair&)>;
-
-SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_Empty(void *arg1) {
-  bool result = false;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      result = object->Empty();
-  }));
-  return result;
-}
-
-SWIGEXPORT unsigned long SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_GetConnectionCount(void *arg1) {
-  std::size_t result = 0;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      result = object->GetConnectionCount();
-  }));
-  return result;
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_Connect(void *arg1, void *arg2) {
-  GUARD_ON_NULL_RET(arg1);
-  GUARD_ON_NULL_RET(arg2);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      auto func = (GesturePairFunc)arg2;
-      object->Connect( func );
-  }));
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_Disconnect(void *arg1, void *arg2) {
-  GUARD_ON_NULL_RET(arg1);
-  GUARD_ON_NULL_RET(arg2);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      auto func = (GesturePairFunc)arg2;
-      object->Disconnect(func);
-  }));
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_Emit(void *arg1, void *arg2) {
-  GUARD_ON_NULL_RET(arg1);
-  GUARD_ON_NULL_RET(arg2);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      auto gesturePair = (GesturePair*)arg2;
-      object->Emit(*gesturePair);
-  }));
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_new() {
-  GesturePairSignal* ret = nullptr;
-  try_catch(([&]() {
-      ret = new GesturePairSignal();
-  }));
-  return ret;
-}
-
-SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_delete(void *arg1) {
-  GUARD_ON_NULL_RET(arg1);
-  try_catch(([&]() {
-      auto object = (GesturePairSignal*)arg1;
-      delete object;
-  }));
-}
 
 SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Signal_GesturePairToVoid_GetSizeOfGestureInfo(void) {
   return sizeof(Dali::Accessibility::GestureInfo);
index 4147dfbfe305bc152e70e8d3c96b023eb2821b88..a3f0e90107a0aa73de3fda273da0bbdc2b26785f 100644 (file)
@@ -88,104 +88,114 @@ SWIGEXPORT int SWIGSTDCALL CSharp_Dali_View_Property_DISPATCH_KEY_EVENTS_get()
   return (int)Dali::Toolkit::DevelControl::Property::DISPATCH_KEY_EVENTS;
 }
 
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityActivateSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityActivateSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityActivateSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingSkippedSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityReadingSkippedSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityReadingSkippedSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingPausedSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityReadingPausedSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityReadingPausedSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingResumedSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityReadingResumedSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityReadingResumedSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingCancelledSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityReadingCancelledSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityReadingCancelledSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingStoppedSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityReadingStoppedSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityReadingStoppedSignal(*control));
-  }));
-  return (void*)result;
-}
 
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityGetNameSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityGetNameSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityGetNameSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityGetDescriptionSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityGetDescriptionSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityGetDescriptionSignal(*control));
-  }));
-  return (void*)result;
-}
-
-SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityDoGestureSignal(void* arg1)
-{
-  Dali::Toolkit::DevelControl::AccessibilityDoGestureSignalType* result = nullptr;
-  GUARD_ON_NULL_RET0(arg1);
-  try_catch(([&]() {
-    Dali::Toolkit::Control* control = (Dali::Toolkit::Control*)arg1;
-    result                          = &(AccessibilityDoGestureSignal(*control));
-  }));
-  return (void*)result;
-}
+#define GENERATE_ACCESSIBILITY_SIGNAL_2_FUNCTIONS(HType, SignalType, SignalName)  \
+GENERATE_CONTROL_SIGNAL_1(Dali::Toolkit::Control*, HType, SignalType, SignalName)
+
+#define GENERATE_ACCESSIBILITY_SIGNAL_3_FUNCTIONS(HType, SignalType, SignalName)  \
+GENERATE_CONTROL_SIGNAL_1(Dali::Toolkit::Control*, HType, SignalType, SignalName) \
+GENERATE_CONTROL_SIGNAL_2(Dali::Toolkit::Control*, SignalType, SignalName)
+
+#define GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(HType, SignalType, SignalName)  \
+GENERATE_CONTROL_SIGNAL_1(Dali::Toolkit::Control*, HType, SignalType, SignalName) \
+GENERATE_CONTROL_SIGNAL_2(Dali::Toolkit::Control*, SignalType, SignalName)        \
+GENERATE_CONTROL_SIGNAL_3(Dali::Toolkit::Control*, SignalType, SignalName)
+
+#define GENERATE_CONTROL_SIGNAL_1(CType, HType, SignalType, SignalName)                                             \
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_##SignalName##_Connect(void* caller, void* handler)    \
+{                                                                                                                   \
+  GUARD_ON_NULL_RET(caller);                                                                                        \
+  GUARD_ON_NULL_RET(handler);                                                                                       \
+  try_catch(([&]() {                                                                                                \
+    CType control      = (CType)caller;                                                                             \
+    SignalType& signal = SignalName(*control);                                                                      \
+    signal.Connect((HType)handler);                                                                                 \
+  }));                                                                                                              \
+}                                                                                                                   \
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_##SignalName##_Disconnect(void* caller, void* handler) \
+{                                                                                                                   \
+  GUARD_ON_NULL_RET(caller);                                                                                        \
+  GUARD_ON_NULL_RET(handler);                                                                                       \
+  try_catch(([&]() {                                                                                                \
+    CType control      = (CType)caller;                                                                             \
+    SignalType& signal = SignalName(*control);                                                                      \
+    signal.Disconnect((HType)handler);                                                                              \
+  }));                                                                                                              \
+}
+
+#define GENERATE_CONTROL_SIGNAL_2(CType, SignalType, SignalName)                                        \
+SWIGEXPORT unsigned int SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_##SignalName##_Empty(void* caller) \
+{                                                                                                       \
+  bool result = false;                                                                                  \
+  GUARD_ON_NULL_RET0(caller);                                                                           \
+  try_catch(([&]() {                                                                                    \
+    CType control      = (CType)caller;                                                                 \
+    SignalType& signal = SignalName(*control);                                                          \
+    result = signal.Empty();                                                                            \
+  }));                                                                                                  \
+  return result;                                                                                        \
+}
+
+#define GENERATE_CONTROL_SIGNAL_3(CType, SignalType, SignalName)                                        \
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_##SignalName##_Emit(void* caller)          \
+{                                                                                                       \
+  GUARD_ON_NULL_RET(caller);                                                                            \
+  try_catch(([&]() {                                                                                    \
+    CType control      = (CType)caller;                                                                 \
+    SignalType& signal = SignalName(*control);                                                          \
+    signal.Emit();                                                                                      \
+  }));                                                                                                  \
+}
+
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityActivateSignalType, AccessibilityActivateSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityActivateSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityActivateSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityActivateSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityActivateSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityReadingSkippedSignalType, AccessibilityReadingSkippedSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingSkippedSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingSkippedSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingSkippedSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingSkippedSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityReadingPausedSignalType, AccessibilityReadingPausedSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingPausedSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingPausedSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingPausedSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingPausedSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityReadingResumedSignalType, AccessibilityReadingResumedSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingResumedSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingResumedSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingResumedSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingResumedSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityReadingCancelledSignalType, AccessibilityReadingCancelledSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingCancelledSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingCancelledSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingCancelledSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingCancelledSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_4_FUNCTIONS(void(*)(), Dali::Toolkit::DevelControl::AccessibilityReadingStoppedSignalType, AccessibilityReadingStoppedSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingStoppedSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingStoppedSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingStoppedSignal_Empty
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityReadingStoppedSignal_Emit
+
+GENERATE_ACCESSIBILITY_SIGNAL_3_FUNCTIONS(void(*)(std::string&), Dali::Toolkit::DevelControl::AccessibilityGetNameSignalType, AccessibilityGetNameSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityGetNameSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityGetNameSignal_Disconnect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityGetNameSignal_Empty
+
+GENERATE_ACCESSIBILITY_SIGNAL_2_FUNCTIONS(void(*)(std::string&), Dali::Toolkit::DevelControl::AccessibilityGetDescriptionSignalType, AccessibilityGetDescriptionSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityGetDescriptionSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityGetDescriptionSignal_Disconnect
+
+GENERATE_ACCESSIBILITY_SIGNAL_2_FUNCTIONS(void(*)(std::pair<Dali::Accessibility::GestureInfo, bool>&), Dali::Toolkit::DevelControl::AccessibilityDoGestureSignalType, AccessibilityDoGestureSignal)
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityDoGestureSignal_Connect
+// CSharp_Dali_Toolkit_DevelControl_AccessibilityDoGestureSignal_Disconnect
 
 SWIGEXPORT void* SWIGSTDCALL CSharp_Dali_Toolkit_DevelControl_AccessibilityActionSignal(void* arg1)
 {
index 959031fa969de3e412379388a3eed277d5f28217..a5f818b234feafbc740fc96aac201fc9dcf3ba47 100644 (file)
@@ -3321,25 +3321,26 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_GetLinearConstrainer(void * ja
   return jresult;
 }
 
-
-SWIGEXPORT void * SWIGSTDCALL CSharp_Dali_Builder_QuitSignal(void * jarg1) {
-  void * jresult ;
-  Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *) 0 ;
-  Dali::Toolkit::Builder::BuilderSignalType *result = 0 ;
-
-  arg1 = (Dali::Toolkit::Builder *)jarg1;
-  {
-    try {
-      result = (Dali::Toolkit::Builder::BuilderSignalType *) &(arg1)->QuitSignal();
-    } CALL_CATCH_EXCEPTION(0);
-  }
-
-  jresult = (void *)result;
-  return jresult;
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_QuitSignal_Connect(void* jarg1, void* jarg2) {
+  GUARD_ON_NULL_RET(jarg1);
+  GUARD_ON_NULL_RET(jarg2);
+  try_catch(([&]() {
+    Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *)jarg1;
+    void (*arg2)()               = (void (*)())jarg2;
+    arg1->QuitSignal().Connect(arg2);
+  }));
+}
+
+SWIGEXPORT void SWIGSTDCALL CSharp_Dali_Builder_QuitSignal_Disconnect(void* jarg1, void* jarg2) {
+  GUARD_ON_NULL_RET(jarg1);
+  GUARD_ON_NULL_RET(jarg2);
+  try_catch(([&]() {
+    Dali::Toolkit::Builder *arg1 = (Dali::Toolkit::Builder *)jarg1;
+    void (*arg2)()               = (void (*)())jarg2;
+    arg1->QuitSignal().Disconnect(arg2);
+  }));
 }
 
-
-
 SWIGEXPORT void SWIGSTDCALL CSharp_Dali_delete_TransitionData(void * jarg1) {
   Dali::Toolkit::TransitionData *arg1 = (Dali::Toolkit::TransitionData *) 0 ;