Apply sender concept for signal
authoryoungman <yman.jung@samsung.com>
Thu, 18 Jun 2015 06:50:34 +0000 (15:50 +0900)
committeryoungman <yman.jung@samsung.com>
Tue, 3 Nov 2015 11:06:25 +0000 (20:06 +0900)
Change-Id: I33ce01fbd45ca8e759e949f985ce360ecf863e44
Signed-off-by: youngman <yman.jung@samsung.com>
common/ic-common.h
common/ic-dbus.c
common/ic-dbus.h
common/ic-dbus.xml
daemon/icd-dbus.c
daemon/icd-dbus.h
daemon/icd-ioty.cpp
daemon/icd-ioty.h
lib/icl-dbus.c

index aed70966659424eb7f270319b6e7528d937ab2b6..867fe558886b2c47b35ccf1576f371a9b23f8f6b 100644 (file)
 
 #define IOTCON_DBUS_OBJPATH "/org/tizen/iotcon/dbus"
 
+#define IC_DBUS_SIGNAL_LENGTH 20
+
+#define IC_DBUS_SIGNAL_REQUEST_HANDLER "REQ"
+#define IC_DBUS_SIGNAL_FOUND_RESOURCE "RES"
+#define IC_DBUS_SIGNAL_GET "GET"
+#define IC_DBUS_SIGNAL_PUT "PUT"
+#define IC_DBUS_SIGNAL_POST "POST"
+#define IC_DBUS_SIGNAL_DELETE "DELETE"
+#define IC_DBUS_SIGNAL_OBSERVE "OBSERVE"
+#define IC_DBUS_SIGNAL_DEVICE "DEVICE"
+#define IC_DBUS_SIGNAL_PRESENCE "PRESENCE"
+
 #endif /* __IOT_CONNECTIVITY_MANAGER_INTERNAL_COMMON_H__ */
index 5f510dc995eb6862ff6aaa17376f433d73d2e677..6a89db3cbce71dc865e6d148002b96dfbfd5e42f 100644 (file)
@@ -716,12 +716,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_find_resource_IN_ARG_typ
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_find_resource_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_find_resource_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -731,7 +731,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_find_resource_IN
 {
   &_ic_dbus_method_info_find_resource_IN_ARG_host_address,
   &_ic_dbus_method_info_find_resource_IN_ARG_type,
-  &_ic_dbus_method_info_find_resource_IN_ARG_sig_name,
+  &_ic_dbus_method_info_find_resource_IN_ARG_signal_number,
   NULL
 };
 
@@ -787,12 +787,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_IN_ARG_query =
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -802,7 +802,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_get_IN_ARG_point
 {
   &_ic_dbus_method_info_get_IN_ARG_client,
   &_ic_dbus_method_info_get_IN_ARG_query,
-  &_ic_dbus_method_info_get_IN_ARG_sig_name,
+  &_ic_dbus_method_info_get_IN_ARG_signal_number,
   NULL
 };
 
@@ -869,12 +869,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_put_IN_ARG_query =
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_put_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_put_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -885,7 +885,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_put_IN_ARG_point
   &_ic_dbus_method_info_put_IN_ARG_client,
   &_ic_dbus_method_info_put_IN_ARG_repr,
   &_ic_dbus_method_info_put_IN_ARG_query,
-  &_ic_dbus_method_info_put_IN_ARG_sig_name,
+  &_ic_dbus_method_info_put_IN_ARG_signal_number,
   NULL
 };
 
@@ -952,12 +952,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_post_IN_ARG_query =
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_post_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_post_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -968,7 +968,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_post_IN_ARG_poin
   &_ic_dbus_method_info_post_IN_ARG_client,
   &_ic_dbus_method_info_post_IN_ARG_repr,
   &_ic_dbus_method_info_post_IN_ARG_query,
-  &_ic_dbus_method_info_post_IN_ARG_sig_name,
+  &_ic_dbus_method_info_post_IN_ARG_signal_number,
   NULL
 };
 
@@ -1013,12 +1013,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_delete_IN_ARG_client =
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_delete_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_delete_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -1027,7 +1027,7 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_delete_IN_ARG_sig_name =
 static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_delete_IN_ARG_pointers[] =
 {
   &_ic_dbus_method_info_delete_IN_ARG_client,
-  &_ic_dbus_method_info_delete_IN_ARG_sig_name,
+  &_ic_dbus_method_info_delete_IN_ARG_signal_number,
   NULL
 };
 
@@ -1094,12 +1094,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_observer_start_IN_ARG_qu
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_observer_start_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_observer_start_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -1110,7 +1110,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_observer_start_I
   &_ic_dbus_method_info_observer_start_IN_ARG_client,
   &_ic_dbus_method_info_observer_start_IN_ARG_observe_type,
   &_ic_dbus_method_info_observer_start_IN_ARG_query,
-  &_ic_dbus_method_info_observer_start_IN_ARG_sig_name,
+  &_ic_dbus_method_info_observer_start_IN_ARG_signal_number,
   NULL
 };
 
@@ -1261,12 +1261,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_device_info_IN_ARG_h
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_device_info_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_device_info_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -1275,7 +1275,7 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_get_device_info_IN_ARG_s
 static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_get_device_info_IN_ARG_pointers[] =
 {
   &_ic_dbus_method_info_get_device_info_IN_ARG_host_address,
-  &_ic_dbus_method_info_get_device_info_IN_ARG_sig_name,
+  &_ic_dbus_method_info_get_device_info_IN_ARG_signal_number,
   NULL
 };
 
@@ -1331,12 +1331,12 @@ static const _ExtendedGDBusArgInfo _ic_dbus_method_info_subscribe_presence_IN_AR
   FALSE
 };
 
-static const _ExtendedGDBusArgInfo _ic_dbus_method_info_subscribe_presence_IN_ARG_sig_name =
+static const _ExtendedGDBusArgInfo _ic_dbus_method_info_subscribe_presence_IN_ARG_signal_number =
 {
   {
     -1,
-    (gchar *) "sig_name",
-    (gchar *) "s",
+    (gchar *) "signal_number",
+    (gchar *) "u",
     NULL
   },
   FALSE
@@ -1346,7 +1346,7 @@ static const _ExtendedGDBusArgInfo * const _ic_dbus_method_info_subscribe_presen
 {
   &_ic_dbus_method_info_subscribe_presence_IN_ARG_host_address,
   &_ic_dbus_method_info_subscribe_presence_IN_ARG_type,
-  &_ic_dbus_method_info_subscribe_presence_IN_ARG_sig_name,
+  &_ic_dbus_method_info_subscribe_presence_IN_ARG_signal_number,
   NULL
 };
 
@@ -1840,7 +1840,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @invocation: A #GDBusMethodInvocation.
    * @arg_host_address: Argument passed by remote caller.
    * @arg_type: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.findResource">findResource()</link> D-Bus method.
    *
@@ -1857,7 +1857,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     4,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
 
   /**
    * icDbus::handle-get:
@@ -1865,7 +1865,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @invocation: A #GDBusMethodInvocation.
    * @arg_client: Argument passed by remote caller.
    * @arg_query: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.get">get()</link> D-Bus method.
    *
@@ -1882,7 +1882,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     4,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_VARIANT, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_VARIANT, G_TYPE_UINT);
 
   /**
    * icDbus::handle-put:
@@ -1891,7 +1891,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @arg_client: Argument passed by remote caller.
    * @arg_repr: Argument passed by remote caller.
    * @arg_query: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.put">put()</link> D-Bus method.
    *
@@ -1908,7 +1908,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     5,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_UINT);
 
   /**
    * icDbus::handle-post:
@@ -1917,7 +1917,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @arg_client: Argument passed by remote caller.
    * @arg_repr: Argument passed by remote caller.
    * @arg_query: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.post">post()</link> D-Bus method.
    *
@@ -1934,14 +1934,14 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     5,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING, G_TYPE_VARIANT, G_TYPE_UINT);
 
   /**
    * icDbus::handle-delete:
    * @object: A #icDbus.
    * @invocation: A #GDBusMethodInvocation.
    * @arg_client: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.delete">delete()</link> D-Bus method.
    *
@@ -1958,7 +1958,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     3,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_UINT);
 
   /**
    * icDbus::handle-observer-start:
@@ -1967,7 +1967,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @arg_client: Argument passed by remote caller.
    * @arg_observe_type: Argument passed by remote caller.
    * @arg_query: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.observerStart">observerStart()</link> D-Bus method.
    *
@@ -1984,7 +1984,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     5,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_INT, G_TYPE_VARIANT, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_VARIANT, G_TYPE_INT, G_TYPE_VARIANT, G_TYPE_UINT);
 
   /**
    * icDbus::handle-observer-stop:
@@ -2037,7 +2037,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @object: A #icDbus.
    * @invocation: A #GDBusMethodInvocation.
    * @arg_host_address: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.getDeviceInfo">getDeviceInfo()</link> D-Bus method.
    *
@@ -2054,7 +2054,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     3,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_UINT);
 
   /**
    * icDbus::handle-subscribe-presence:
@@ -2062,7 +2062,7 @@ ic_dbus_default_init (icDbusIface *iface)
    * @invocation: A #GDBusMethodInvocation.
    * @arg_host_address: Argument passed by remote caller.
    * @arg_type: Argument passed by remote caller.
-   * @arg_sig_name: Argument passed by remote caller.
+   * @arg_signal_number: Argument passed by remote caller.
    *
    * Signal emitted when a remote caller is invoking the <link linkend="gdbus-method-org-tizen-iotcon-dbus.subscribePresence">subscribePresence()</link> D-Bus method.
    *
@@ -2079,7 +2079,7 @@ ic_dbus_default_init (icDbusIface *iface)
     g_cclosure_marshal_generic,
     G_TYPE_BOOLEAN,
     4,
-    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
+    G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT);
 
   /**
    * icDbus::handle-unsubscribe-presence:
@@ -3146,7 +3146,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
  * @arg_type: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3162,17 +3162,17 @@ ic_dbus_call_find_resource (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "findResource",
-    g_variant_new ("(sss)",
+    g_variant_new ("(ssu)",
                    arg_host_address,
                    arg_type,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3215,7 +3215,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
  * @arg_type: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -3231,7 +3231,7 @@ ic_dbus_call_find_resource_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -3239,10 +3239,10 @@ ic_dbus_call_find_resource_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "findResource",
-    g_variant_new ("(sss)",
+    g_variant_new ("(ssu)",
                    arg_host_address,
                    arg_type,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3262,7 +3262,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_client: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3278,17 +3278,17 @@ ic_dbus_call_get (
     icDbus *proxy,
     GVariant *arg_client,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "get",
-    g_variant_new ("(@(ssba(qs)asii)@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)@a(ss)u)",
                    arg_client,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3331,7 +3331,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_client: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -3347,7 +3347,7 @@ ic_dbus_call_get_sync (
     icDbus *proxy,
     GVariant *arg_client,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -3355,10 +3355,10 @@ ic_dbus_call_get_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "get",
-    g_variant_new ("(@(ssba(qs)asii)@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)@a(ss)u)",
                    arg_client,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3379,7 +3379,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_repr: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3396,18 +3396,18 @@ ic_dbus_call_put (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "put",
-    g_variant_new ("(@(ssba(qs)asii)s@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)s@a(ss)u)",
                    arg_client,
                    arg_repr,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3451,7 +3451,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_repr: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -3468,7 +3468,7 @@ ic_dbus_call_put_sync (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -3476,11 +3476,11 @@ ic_dbus_call_put_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "put",
-    g_variant_new ("(@(ssba(qs)asii)s@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)s@a(ss)u)",
                    arg_client,
                    arg_repr,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3501,7 +3501,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_repr: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3518,18 +3518,18 @@ ic_dbus_call_post (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "post",
-    g_variant_new ("(@(ssba(qs)asii)s@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)s@a(ss)u)",
                    arg_client,
                    arg_repr,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3573,7 +3573,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_repr: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -3590,7 +3590,7 @@ ic_dbus_call_post_sync (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -3598,11 +3598,11 @@ ic_dbus_call_post_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "post",
-    g_variant_new ("(@(ssba(qs)asii)s@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)s@a(ss)u)",
                    arg_client,
                    arg_repr,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3621,7 +3621,7 @@ _out:
  * ic_dbus_call_delete:
  * @proxy: A #icDbusProxy.
  * @arg_client: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3636,16 +3636,16 @@ void
 ic_dbus_call_delete (
     icDbus *proxy,
     GVariant *arg_client,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "delete",
-    g_variant_new ("(@(ssba(qs)asii)s)",
+    g_variant_new ("(@(ssba(qs)asii)u)",
                    arg_client,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3687,7 +3687,7 @@ _out:
  * ic_dbus_call_delete_sync:
  * @proxy: A #icDbusProxy.
  * @arg_client: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -3702,7 +3702,7 @@ gboolean
 ic_dbus_call_delete_sync (
     icDbus *proxy,
     GVariant *arg_client,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -3710,9 +3710,9 @@ ic_dbus_call_delete_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "delete",
-    g_variant_new ("(@(ssba(qs)asii)s)",
+    g_variant_new ("(@(ssba(qs)asii)u)",
                    arg_client,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3733,7 +3733,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_observe_type: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -3750,18 +3750,18 @@ ic_dbus_call_observer_start (
     GVariant *arg_client,
     gint arg_observe_type,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "observerStart",
-    g_variant_new ("(@(ssba(qs)asii)i@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)i@a(ss)u)",
                    arg_client,
                    arg_observe_type,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -3808,7 +3808,7 @@ _out:
  * @arg_client: Argument to pass with the method invocation.
  * @arg_observe_type: Argument to pass with the method invocation.
  * @arg_query: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_observe_h: (out): Return location for return parameter or %NULL to ignore.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
@@ -3826,7 +3826,7 @@ ic_dbus_call_observer_start_sync (
     GVariant *arg_client,
     gint arg_observe_type,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_observe_h,
     gint *out_ret,
     GCancellable *cancellable,
@@ -3835,11 +3835,11 @@ ic_dbus_call_observer_start_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "observerStart",
-    g_variant_new ("(@(ssba(qs)asii)i@a(ss)s)",
+    g_variant_new ("(@(ssba(qs)asii)i@a(ss)u)",
                    arg_client,
                    arg_observe_type,
                    arg_query,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -4067,7 +4067,7 @@ _out:
  * ic_dbus_call_get_device_info:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -4082,16 +4082,16 @@ void
 ic_dbus_call_get_device_info (
     icDbus *proxy,
     const gchar *arg_host_address,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "getDeviceInfo",
-    g_variant_new ("(ss)",
+    g_variant_new ("(su)",
                    arg_host_address,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -4133,7 +4133,7 @@ _out:
  * ic_dbus_call_get_device_info_sync:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_ret: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -4148,7 +4148,7 @@ gboolean
 ic_dbus_call_get_device_info_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error)
@@ -4156,9 +4156,9 @@ ic_dbus_call_get_device_info_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "getDeviceInfo",
-    g_variant_new ("(ss)",
+    g_variant_new ("(su)",
                    arg_host_address,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -4178,7 +4178,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
  * @arg_type: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %NULL.
  * @user_data: User data to pass to @callback.
@@ -4194,17 +4194,17 @@ ic_dbus_call_subscribe_presence (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data)
 {
   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
     "subscribePresence",
-    g_variant_new ("(sss)",
+    g_variant_new ("(ssu)",
                    arg_host_address,
                    arg_type,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
@@ -4247,7 +4247,7 @@ _out:
  * @proxy: A #icDbusProxy.
  * @arg_host_address: Argument to pass with the method invocation.
  * @arg_type: Argument to pass with the method invocation.
- * @arg_sig_name: Argument to pass with the method invocation.
+ * @arg_signal_number: Argument to pass with the method invocation.
  * @out_presence_h: (out): Return location for return parameter or %NULL to ignore.
  * @cancellable: (allow-none): A #GCancellable or %NULL.
  * @error: Return location for error or %NULL.
@@ -4263,7 +4263,7 @@ ic_dbus_call_subscribe_presence_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_presence_h,
     GCancellable *cancellable,
     GError **error)
@@ -4271,10 +4271,10 @@ ic_dbus_call_subscribe_presence_sync (
   GVariant *_ret;
   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
     "subscribePresence",
-    g_variant_new ("(sss)",
+    g_variant_new ("(ssu)",
                    arg_host_address,
                    arg_type,
-                   arg_sig_name),
+                   arg_signal_number),
     G_DBUS_CALL_FLAGS_NONE,
     -1,
     cancellable,
index 5e7748493f7c8af7d7c8d871a9553dc8129e23ae..be8002e7496fec18dfc011a4170b5345e32c2210 100644 (file)
@@ -50,27 +50,27 @@ struct _icDbusIface
     icDbus *object,
     GDBusMethodInvocation *invocation,
     GVariant *arg_client,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_find_resource) (
     icDbus *object,
     GDBusMethodInvocation *invocation,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_get) (
     icDbus *object,
     GDBusMethodInvocation *invocation,
     GVariant *arg_client,
     GVariant *arg_query,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_get_device_info) (
     icDbus *object,
     GDBusMethodInvocation *invocation,
     const gchar *arg_host_address,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_notify_all) (
     icDbus *object,
@@ -90,7 +90,7 @@ struct _icDbusIface
     GVariant *arg_client,
     gint arg_observe_type,
     GVariant *arg_query,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_observer_stop) (
     icDbus *object,
@@ -103,7 +103,7 @@ struct _icDbusIface
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_put) (
     icDbus *object,
@@ -111,7 +111,7 @@ struct _icDbusIface
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_register_device_info) (
     icDbus *object,
@@ -145,7 +145,7 @@ struct _icDbusIface
     GDBusMethodInvocation *invocation,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name);
+    guint arg_signal_number);
 
   gboolean (*handle_unbind_resource) (
     icDbus *object,
@@ -488,7 +488,7 @@ void ic_dbus_call_find_resource (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -503,7 +503,7 @@ gboolean ic_dbus_call_find_resource_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -512,7 +512,7 @@ void ic_dbus_call_get (
     icDbus *proxy,
     GVariant *arg_client,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -527,7 +527,7 @@ gboolean ic_dbus_call_get_sync (
     icDbus *proxy,
     GVariant *arg_client,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -537,7 +537,7 @@ void ic_dbus_call_put (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -553,7 +553,7 @@ gboolean ic_dbus_call_put_sync (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -563,7 +563,7 @@ void ic_dbus_call_post (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -579,7 +579,7 @@ gboolean ic_dbus_call_post_sync (
     GVariant *arg_client,
     const gchar *arg_repr,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -587,7 +587,7 @@ gboolean ic_dbus_call_post_sync (
 void ic_dbus_call_delete (
     icDbus *proxy,
     GVariant *arg_client,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -601,7 +601,7 @@ gboolean ic_dbus_call_delete_finish (
 gboolean ic_dbus_call_delete_sync (
     icDbus *proxy,
     GVariant *arg_client,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -611,7 +611,7 @@ void ic_dbus_call_observer_start (
     GVariant *arg_client,
     gint arg_observe_type,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -628,7 +628,7 @@ gboolean ic_dbus_call_observer_start_sync (
     GVariant *arg_client,
     gint arg_observe_type,
     GVariant *arg_query,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_observe_h,
     gint *out_ret,
     GCancellable *cancellable,
@@ -677,7 +677,7 @@ gboolean ic_dbus_call_register_device_info_sync (
 void ic_dbus_call_get_device_info (
     icDbus *proxy,
     const gchar *arg_host_address,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -691,7 +691,7 @@ gboolean ic_dbus_call_get_device_info_finish (
 gboolean ic_dbus_call_get_device_info_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_ret,
     GCancellable *cancellable,
     GError **error);
@@ -700,7 +700,7 @@ void ic_dbus_call_subscribe_presence (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
@@ -715,7 +715,7 @@ gboolean ic_dbus_call_subscribe_presence_sync (
     icDbus *proxy,
     const gchar *arg_host_address,
     const gchar *arg_type,
-    const gchar *arg_sig_name,
+    guint arg_signal_number,
     gint *out_presence_h,
     GCancellable *cancellable,
     GError **error);
index 76e17d159f0bbb6145ba0c4f735cd2f3fc94595d..47ab87dbe3d6946e21ea72119d8bab91ba4a6379 100644 (file)
                <method name="findResource">
                        <arg type="s" name="host_address" direction="in"/>
                        <arg type="s" name="type" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="get">
                        <arg type="(ssba(qs)asii)" name="client" direction="in"/>
                        <arg type="a(ss)" name="query" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="put">
                        <arg type="(ssba(qs)asii)" name="client" direction="in"/>
                        <arg type="s" name="repr" direction="in"/>
                        <arg type="a(ss)" name="query" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="post">
                        <arg type="(ssba(qs)asii)" name="client" direction="in"/>
                        <arg type="s" name="repr" direction="in"/>
                        <arg type="a(ss)" name="query" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="delete">
                        <arg type="(ssba(qs)asii)" name="client" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="observerStart">
                        <arg type="(ssba(qs)asii)" name="client" direction="in"/>
                        <arg type="i" name="observe_type" direction="in"/>
                        <arg type="a(ss)" name="query" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="observe_h" direction="out"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                </method>
                <method name="getDeviceInfo">
                        <arg type="s" name="host_address" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="ret" direction="out"/>
                </method>
                <method name="subscribePresence">
                        <arg type="s" name="host_address" direction="in"/>
                        <arg type="s" name="type" direction="in"/>
-                       <arg type="s" name="sig_name" direction="in"/>
+                       <arg type="u" name="signal_number" direction="in"/>
                        <arg type="i" name="presence_h" direction="out"/>
                </method>
                <method name="unsubscribePresence">
index 4f69b484929100a455da4fac8d09a2f171d331b3..54feb37e43ab2ea7008e2442e639f8e1575bd52e 100644 (file)
 static GDBusConnection *icd_dbus_conn;
 static icDbus *icd_dbus_object;
 
-int icd_dbus_emit_signal(const char *sig_name, GVariant *value)
+int icd_dbus_emit_signal(const char *signal_name, const char *sender, GVariant *value)
 {
        gboolean ret;
        GError *error = NULL;
 
-       DBG("SIG : %s, %s", sig_name, g_variant_print(value, FALSE));
+       DBG("SIG : %s, %s", signal_name, g_variant_print(value, FALSE));
 
        ret = g_dbus_connection_emit_signal(icd_dbus_conn,
-                       NULL,
+                       sender,
                        IOTCON_DBUS_OBJPATH,
                        IOTCON_DBUS_INTERFACE,
-                       sig_name,
+                       signal_name,
                        value,
                        &error);
        if (FALSE == ret) {
@@ -58,15 +58,14 @@ int icd_dbus_emit_signal(const char *sig_name, GVariant *value)
 
 static gboolean _dbus_handle_register_resource(icDbus *object,
                GDBusMethodInvocation *invocation,
-               const gchar *arg_uri,
-               const gchar* const *arg_resource_types,
-               gint arg_ifaces,
-               guchar arg_properties)
+               const gchar *uri,
+               const gchar* const *resource_types,
+               gint ifaces,
+               guchar properties)
 {
        void *handle = NULL;
 
-       handle = icd_ioty_register_resource(arg_uri, arg_resource_types, arg_ifaces,
-                       arg_properties);
+       handle = icd_ioty_register_resource(uri, resource_types, ifaces, properties);
        if (NULL == handle)
                ERR("icd_ioty_register_resource() Fail");
 
@@ -77,11 +76,11 @@ static gboolean _dbus_handle_register_resource(icDbus *object,
 
 
 static gboolean _dbus_handle_unregister_resource(icDbus *object,
-               GDBusMethodInvocation *invocation, gint arg_resource)
+               GDBusMethodInvocation *invocation, gint resource)
 {
        int ret;
 
-       ret = icd_ioty_unregister_resource(GINT_TO_POINTER(arg_resource));
+       ret = icd_ioty_unregister_resource(GINT_TO_POINTER(resource));
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_unregister_resource() Fail(%d)", ret);
 
@@ -92,11 +91,11 @@ static gboolean _dbus_handle_unregister_resource(icDbus *object,
 
 
 static gboolean _dbus_handle_bind_interface(icDbus *object,
-               GDBusMethodInvocation *invocation, gint arg_resource, gint arg_iface)
+               GDBusMethodInvocation *invocation, gint resource, gint iface)
 {
        int ret;
 
-       ret = icd_ioty_bind_interface(GINT_TO_POINTER(arg_resource), arg_iface);
+       ret = icd_ioty_bind_interface(GINT_TO_POINTER(resource), iface);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_bind_interface() Fail(%d)", ret);
 
@@ -107,11 +106,11 @@ static gboolean _dbus_handle_bind_interface(icDbus *object,
 
 
 static gboolean _dbus_handle_bind_type(icDbus *object,
-               GDBusMethodInvocation *invocation, gint arg_resource, const gchar *arg_type)
+               GDBusMethodInvocation *invocation, gint resource, const gchar *type)
 {
        int ret;
 
-       ret = icd_ioty_bind_type(GINT_TO_POINTER(arg_resource), arg_type);
+       ret = icd_ioty_bind_type(GINT_TO_POINTER(resource), type);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_bind_type() Fail(%d)", ret);
 
@@ -122,11 +121,11 @@ static gboolean _dbus_handle_bind_type(icDbus *object,
 
 
 static gboolean _dbus_handle_bind_resource(icDbus *object,
-               GDBusMethodInvocation *invocation, gint arg_parent, gint arg_child)
+               GDBusMethodInvocation *invocation, gint parent, gint child)
 {
        int ret;
 
-       ret = icd_ioty_bind_resource(GINT_TO_POINTER(arg_parent), GINT_TO_POINTER(arg_child));
+       ret = icd_ioty_bind_resource(GINT_TO_POINTER(parent), GINT_TO_POINTER(child));
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_bind_resource() Fail(%d)", ret);
 
@@ -137,12 +136,11 @@ static gboolean _dbus_handle_bind_resource(icDbus *object,
 
 
 static gboolean _dbus_handle_unbind_resource(icDbus *object,
-               GDBusMethodInvocation *invocation, gint arg_parent, gint arg_child)
+               GDBusMethodInvocation *invocation, gint parent, gint child)
 {
        int ret;
 
-       ret = icd_ioty_unbind_resource(GINT_TO_POINTER(arg_parent),
-                       GINT_TO_POINTER(arg_child));
+       ret = icd_ioty_unbind_resource(GINT_TO_POINTER(parent), GINT_TO_POINTER(child));
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_unbind_resource() Fail(%d)", ret);
 
@@ -154,13 +152,15 @@ static gboolean _dbus_handle_unbind_resource(icDbus *object,
 
 static gboolean _dbus_handle_find_resource(icDbus *object,
                GDBusMethodInvocation *invocation,
-               const gchar *arg_host_address,
-               const gchar *arg_type,
-               const gchar *sig_name)
+               const gchar *host_address,
+               const gchar *type,
+               guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_find_resource(arg_host_address, arg_type, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_find_resource(host_address, type, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_find_resource() Fail(%d)", ret);
 
@@ -171,11 +171,13 @@ static gboolean _dbus_handle_find_resource(icDbus *object,
 
 
 static gboolean _dbus_handle_get(icDbus *object, GDBusMethodInvocation *invocation,
-               GVariant *arg_client, GVariant *arg_query, const gchar *sig_name)
+               GVariant *client, GVariant *query, guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_get(arg_client, arg_query, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_get(client, query, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_get() Fail(%d)", ret);
 
@@ -187,14 +189,16 @@ static gboolean _dbus_handle_get(icDbus *object, GDBusMethodInvocation *invocati
 
 static gboolean _dbus_handle_put(icDbus *object,
                GDBusMethodInvocation *invocation,
-               GVariant *arg_client,
-               const gchar *arg_repr,
-               GVariant *arg_query,
-               const gchar *sig_name)
+               GVariant *client,
+               const gchar *repr,
+               GVariant *query,
+               guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_put(arg_client, arg_repr, arg_query, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_put(client, repr, query, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_put() Fail(%d)", ret);
 
@@ -206,14 +210,16 @@ static gboolean _dbus_handle_put(icDbus *object,
 
 static gboolean _dbus_handle_post(icDbus *object,
                GDBusMethodInvocation *invocation,
-               GVariant *arg_client,
-               const gchar *arg_repr,
-               GVariant *arg_query,
-               const gchar *sig_name)
+               GVariant *client,
+               const gchar *repr,
+               GVariant *query,
+               guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_post(arg_client, arg_repr, arg_query, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_post(client, repr, query, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_post() Fail(%d)", ret);
 
@@ -225,12 +231,14 @@ static gboolean _dbus_handle_post(icDbus *object,
 
 static gboolean _dbus_handle_delete(icDbus *object,
                GDBusMethodInvocation *invocation,
-               GVariant *arg_client,
-               const gchar *sig_name)
+               GVariant *client,
+               guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_delete(arg_client, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_delete(client, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_delete() Fail(%d)", ret);
 
@@ -242,15 +250,17 @@ static gboolean _dbus_handle_delete(icDbus *object,
 
 static gboolean _dbus_handle_observer_start(icDbus *object,
                GDBusMethodInvocation *invocation,
-               GVariant *arg_client,
-               gint arg_observe_type,
-               GVariant *arg_query,
-               const gchar *sig_name)
+               GVariant *client,
+               gint observe_type,
+               GVariant *query,
+               guint signal_number)
 {
        int ret;
        int observe_h;
+       const gchar *sender;
 
-       ret = icd_ioty_observer_start(arg_client, arg_observe_type, arg_query, sig_name,
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_observer_start(client, observe_type, query, signal_number, sender,
                        &observe_h);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_observer_start() Fail(%d)", ret);
@@ -263,11 +273,11 @@ static gboolean _dbus_handle_observer_start(icDbus *object,
 
 static gboolean _dbus_handle_observer_stop(icDbus *object,
                GDBusMethodInvocation *invocation,
-               gint arg_observe_h)
+               gint observe_h)
 {
        int ret;
 
-       ret = icd_ioty_observer_stop(GINT_TO_POINTER(arg_observe_h));
+       ret = icd_ioty_observer_stop(GINT_TO_POINTER(observe_h));
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_observer_stop() Fail(%d)", ret);
 
@@ -279,13 +289,13 @@ static gboolean _dbus_handle_observer_stop(icDbus *object,
 
 static gboolean _dbus_handle_notify_list_of_observers(icDbus *object,
                GDBusMethodInvocation *invocation,
-               gint arg_resource,
-               GVariant *arg_notify_msg,
-               GVariant *arg_observers)
+               gint resource,
+               GVariant *notify_msg,
+               GVariant *observers)
 {
        int ret;
 
-       ret = icd_ioty_notify_list_of_observers(arg_resource, arg_notify_msg, arg_observers);
+       ret = icd_ioty_notify_list_of_observers(resource, notify_msg, observers);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_notify_list_of_observers() Fail(%d)", ret);
 
@@ -296,11 +306,11 @@ static gboolean _dbus_handle_notify_list_of_observers(icDbus *object,
 
 
 static gboolean _dbus_handle_notify_all(icDbus *object, GDBusMethodInvocation *invocation,
-               gint arg_resource)
+               gint resource)
 {
        int ret;
 
-       ret = icd_ioty_notify_all(arg_resource);
+       ret = icd_ioty_notify_all(resource);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_notify_all() Fail(%d)", ret);
 
@@ -311,11 +321,11 @@ static gboolean _dbus_handle_notify_all(icDbus *object, GDBusMethodInvocation *i
 
 
 static gboolean _dbus_handle_send_response(icDbus *object,
-               GDBusMethodInvocation *invocation, GVariant *arg_response)
+               GDBusMethodInvocation *invocation, GVariant *response)
 {
        int ret;
 
-       ret = icd_ioty_send_response(arg_response);
+       ret = icd_ioty_send_response(response);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_send_response() Fail(%d)", ret);
 
@@ -326,11 +336,11 @@ static gboolean _dbus_handle_send_response(icDbus *object,
 
 
 static gboolean _dbus_handle_register_device_info(icDbus *object,
-               GDBusMethodInvocation *invocation, GVariant *arg_device_info)
+               GDBusMethodInvocation *invocation, GVariant *device_info)
 {
        int ret;
 
-       ret = icd_ioty_register_device_info(arg_device_info);
+       ret = icd_ioty_register_device_info(device_info);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_register_device_info() Fail(%d)", ret);
 
@@ -342,12 +352,14 @@ static gboolean _dbus_handle_register_device_info(icDbus *object,
 
 static gboolean _dbus_handle_get_device_info(icDbus *object,
                GDBusMethodInvocation *invocation,
-               const gchar *arg_host_address,
-               const gchar *sig_name)
+               const gchar *host_address,
+               guint signal_number)
 {
        int ret;
+       const gchar *sender;
 
-       ret = icd_ioty_get_device_info(arg_host_address, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       ret = icd_ioty_get_device_info(host_address, signal_number, sender);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_get_device_info() Fail(%d)", ret);
 
@@ -359,11 +371,11 @@ static gboolean _dbus_handle_get_device_info(icDbus *object,
 
 static gboolean _dbus_handle_start_presence(icDbus *object,
                GDBusMethodInvocation *invocation,
-               guint arg_time_to_live)
+               guint time_to_live)
 {
        int ret;
 
-       ret = icd_ioty_start_presence(arg_time_to_live);
+       ret = icd_ioty_start_presence(time_to_live);
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_start_presence() Fail(%d)", ret);
 
@@ -390,13 +402,15 @@ static gboolean _dbus_handle_stop_presence(icDbus *object,
 
 static gboolean _dbus_handle_subscribe_presence(icDbus *object,
                GDBusMethodInvocation *invocation,
-               const gchar *arg_host_address,
-               const gchar *arg_type,
-               const gchar *sig_name)
+               const gchar *host_address,
+               const gchar *type,
+               guint signal_number)
 {
        void *presence_h;
+       const gchar *sender;
 
-       presence_h = icd_ioty_subscribe_presence(arg_host_address, arg_type, sig_name);
+       sender = g_dbus_method_invocation_get_sender(invocation);
+       presence_h = icd_ioty_subscribe_presence(host_address, type, signal_number, sender);
        if (NULL == presence_h)
                ERR("icd_ioty_subscribe_presence() Fail");
 
@@ -409,11 +423,11 @@ static gboolean _dbus_handle_subscribe_presence(icDbus *object,
 
 static gboolean _dbus_handle_unsubscribe_presence(icDbus *object,
                GDBusMethodInvocation *invocation,
-               gint arg_presence_h)
+               gint presence_h)
 {
        int ret;
 
-       ret = icd_ioty_unsubscribe_presence(GINT_TO_POINTER(arg_presence_h));
+       ret = icd_ioty_unsubscribe_presence(GINT_TO_POINTER(presence_h));
        if (IOTCON_ERROR_NONE != ret)
                ERR("icd_ioty_unsubscribe_presence() Fail(%d)", ret);
 
index 796f41d8dff1eea09d76b14fa6a47420f47012e1..f344bb26fef7decf2cdb0f6f29dd4c95835b1cae 100644 (file)
@@ -16,7 +16,7 @@
 #ifndef __IOT_CONNECTIVITY_MANAGER_DAEMON_DBUS_H__
 #define __IOT_CONNECTIVITY_MANAGER_DAEMON_DBUS_H__
 
-int icd_dbus_emit_signal(const char *sig_name, GVariant *value);
+int icd_dbus_emit_signal(const char *sig_name, const char *sender, GVariant *value);
 unsigned int icd_dbus_init();
 void icd_dbus_deinit(unsigned int id);
 
index 12374fc340cf226aac3fa14ce6ed13f6b6c8fda4..72f9b1b884c3673105cdb5b1bfcfcccb3f53076f 100644 (file)
@@ -47,12 +47,14 @@ namespace icdIotivityHandler {
        class getObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               getObject(const char *user_data)
+               getObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void onGet(const HeaderOptions& headerOptions, const OCRepresentation& ocRep,
@@ -63,6 +65,7 @@ namespace icdIotivityHandler {
                        GVariant *value;
                        GVariantBuilder *options;
                        GVariantBuilder *repr;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        if (OC_STACK_OK == eCode) {
                                res = IOTCON_RESPONSE_RESULT_OK;
@@ -88,19 +91,23 @@ namespace icdIotivityHandler {
                        g_variant_builder_unref(options);
                        g_variant_builder_unref(repr);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_GET,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class putObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               putObject(const char *user_data)
+               putObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void onPut(const HeaderOptions& headerOptions, const OCRepresentation& ocRep,
@@ -111,6 +118,7 @@ namespace icdIotivityHandler {
                        GVariant *value;
                        GVariantBuilder *options;
                        GVariantBuilder *repr;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        if (OC_STACK_OK == eCode) {
                                res = IOTCON_RESPONSE_RESULT_OK;
@@ -136,19 +144,23 @@ namespace icdIotivityHandler {
                        g_variant_builder_unref(options);
                        g_variant_builder_unref(repr);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_PUT,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class postObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               postObject(const char *user_data)
+               postObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void onPost(const HeaderOptions& headerOptions, const OCRepresentation& ocRep,
@@ -159,6 +171,7 @@ namespace icdIotivityHandler {
                        GVariant *value;
                        GVariantBuilder *options;
                        GVariantBuilder *repr;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        if (OC_STACK_OK == eCode) {
                                res = IOTCON_RESPONSE_RESULT_OK;
@@ -186,19 +199,23 @@ namespace icdIotivityHandler {
                        g_variant_builder_unref(options);
                        g_variant_builder_unref(repr);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_POST,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class deleteObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               deleteObject(const char *user_data)
+               deleteObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void onDelete(const HeaderOptions& headerOptions, const int eCode)
@@ -206,6 +223,7 @@ namespace icdIotivityHandler {
                        int res;
                        GVariant *value;
                        GVariantBuilder *options;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        if (OC_STACK_OK == eCode) {
                                res = IOTCON_RESPONSE_RESULT_OK;
@@ -225,19 +243,23 @@ namespace icdIotivityHandler {
                        value = g_variant_new("(a(qs)i)", options, res);
                        g_variant_builder_unref(options);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_DELETE,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class observeObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               observeObject(const char *user_data)
+               observeObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void onObserve(const HeaderOptions& headerOptions, const OCRepresentation& ocRep,
@@ -248,6 +270,7 @@ namespace icdIotivityHandler {
                        GVariant *value;
                        GVariantBuilder *options;
                        GVariantBuilder *repr;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        if (OC_STACK_OK == eCode) {
                                res = IOTCON_RESPONSE_RESULT_OK;
@@ -272,19 +295,23 @@ namespace icdIotivityHandler {
                        g_variant_builder_unref(options);
                        g_variant_builder_unref(repr);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_OBSERVE,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class findObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               findObject(const char *user_data)
+               findObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void foundResource(shared_ptr<OCResource> resource)
@@ -294,14 +321,13 @@ namespace icdIotivityHandler {
                        GVariant *value;
                        GVariantBuilder *builder;
                        string resource_host;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
                        vector<string> resource_types = resource->getResourceTypes();
                        if (0 < resource_types.size()) {
-                               for (string &resource_type : resource_types) {
-                                       INFO("type : %s", resource_type.c_str());
+                               for (string &resource_type : resource_types)
                                        g_variant_builder_add(builder, "s", resource_type.c_str());
-                               }
                        }
 
                        vector<string> resource_interfaces = resource->getResourceInterfaces();
@@ -330,25 +356,30 @@ namespace icdIotivityHandler {
                                        ifaces);
                        g_variant_builder_unref(builder);
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_FOUND_RESOURCE,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class deviceObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               deviceObject(const char *user_data)
+               deviceObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void receivedDeviceInfo(const OCRepresentation& ocRep)
                {
                        FN_CALL;
                        GVariant *value;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        string contentType;
                        string dateOfManufacture;
@@ -390,19 +421,23 @@ namespace icdIotivityHandler {
                                        firmwareVersion.c_str(),
                                        supportUrl.c_str());
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_DEVICE,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 
        class presenceObject
        {
        private:
-               string sig_name;
+               unsigned int m_signalNumber;
+               string m_sender;
 
        public:
-               presenceObject(const char *user_data)
+               presenceObject(unsigned int signalNumber, const char *sender)
                {
-                       sig_name = user_data;
+                       m_signalNumber = signalNumber;
+                       m_sender = sender;
                }
 
                void presenceHandler(OCStackResult result, const unsigned int nonce,
@@ -410,6 +445,7 @@ namespace icdIotivityHandler {
                {
                        int res;
                        GVariant *value;
+                       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
                        switch (result) {
                        case OC_STACK_OK:
@@ -429,7 +465,9 @@ namespace icdIotivityHandler {
 
                        value = g_variant_new("(ius)", res, nonce, hostAddress.c_str());
 
-                       icd_dbus_emit_signal(sig_name.c_str(), value);
+                       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_PRESENCE,
+                                       m_signalNumber);
+                       icd_dbus_emit_signal(signal_name, m_sender.c_str(), value);
                }
        };
 }
@@ -439,10 +477,10 @@ extern "C" void icd_ioty_config(const char *addr, unsigned short port)
 {
        PlatformConfig cfg {
                ServiceType::InProc,
-                       ModeType::Both,
-                       string(addr),
-                       port,
-                       QualityOfService::HighQos
+               ModeType::Both,
+               string(addr),
+               port,
+               QualityOfService::HighQos
        };
        Configure(cfg);
        DBG("Created a platform");
@@ -547,8 +585,9 @@ static OCEntityHandlerResult _icd_ioty_request_handler(
        g_variant_builder_unref(query);
        g_variant_builder_unref(repr);
 
-       snprintf(sig_name, sizeof(sig_name), "reg%u", resource_handle);
-       icd_dbus_emit_signal(sig_name, value);
+       snprintf(sig_name, sizeof(sig_name), "%s_%u", IC_DBUS_SIGNAL_REQUEST_HANDLER,
+                       resource_handle);
+       icd_dbus_emit_signal(sig_name, NULL, value);
 
        return OC_EH_OK;
 }
@@ -868,9 +907,8 @@ extern "C" int icd_ioty_send_response(GVariant *resp)
 }
 
 
-
 extern "C" int icd_ioty_find_resource(const char *host_address, const char *resource_type,
-               const char *sig_name)
+               unsigned int signal_number, const char *sender)
 {
        FN_CALL;
        OCStackResult ret;
@@ -887,7 +925,7 @@ extern "C" int icd_ioty_find_resource(const char *host_address, const char *reso
                resource_name << "?rt=" << resource_type;
 
        shared_ptr<icdIotivityHandler::findObject> object
-               = make_shared<icdIotivityHandler::findObject>(sig_name);
+               = make_shared<icdIotivityHandler::findObject>(signal_number, sender);
        FindCallback findCallback = bind(&icdIotivityHandler::findObject::foundResource,
                        object, placeholders::_1);
 
@@ -959,15 +997,15 @@ static OCResource::Ptr _icd_ioty_create_oc_resource(GVariant *client)
 }
 
 
-extern "C" int icd_ioty_get(GVariant *resource, GVariant *query, const char *sig_name)
+extern "C" int icd_ioty_get(GVariant *resource, GVariant *query,
+               unsigned int signal_number, const char *sender)
 {
        FN_CALL;
        OCStackResult ret;
        OCResource::Ptr ocResource;
        QueryParamsMap queryParams;
        GVariantIter *queryIter;
-       char *key;
-       char *value;
+       char *key, *value;
 
        g_variant_get(query, "a(ss)", &queryIter);
        while (g_variant_iter_loop(queryIter, "(&s&s)", &key, &value))
@@ -977,7 +1015,7 @@ extern "C" int icd_ioty_get(GVariant *resource, GVariant *query, const char *sig
        ocResource = _icd_ioty_create_oc_resource(resource);
 
        shared_ptr<icdIotivityHandler::getObject> object
-               = make_shared<icdIotivityHandler::getObject>(sig_name);
+               = make_shared<icdIotivityHandler::getObject>(signal_number, sender);
        GetCallback getCallback = bind(&icdIotivityHandler::getObject::onGet, object,
                        placeholders::_1, placeholders::_2, placeholders::_3);
        ret = ocResource->get(queryParams, getCallback);
@@ -991,7 +1029,7 @@ extern "C" int icd_ioty_get(GVariant *resource, GVariant *query, const char *sig
 
 
 extern "C" int icd_ioty_put(GVariant *resource, const char *repr, GVariant *query,
-               const char *sig_name)
+               unsigned int signal_number, const char *sender)
 {
        FN_CALL;
        int ret;
@@ -1000,8 +1038,7 @@ extern "C" int icd_ioty_put(GVariant *resource, const char *repr, GVariant *quer
        QueryParamsMap queryParams;
        OCRepresentation ocRep;
        GVariantIter *queryIter;
-       char *key;
-       char *value;
+       char *key, *value;
 
        g_variant_get(query, "a(ss)", &queryIter);
        while (g_variant_iter_loop(queryIter, "(&s&s)", &key, &value))
@@ -1017,7 +1054,7 @@ extern "C" int icd_ioty_put(GVariant *resource, const char *repr, GVariant *quer
        ocResource = _icd_ioty_create_oc_resource(resource);
 
        shared_ptr<icdIotivityHandler::putObject> object
-               = make_shared<icdIotivityHandler::putObject>(sig_name);
+               = make_shared<icdIotivityHandler::putObject>(signal_number, sender);
        PutCallback putCallback = bind(&icdIotivityHandler::putObject::onPut, object,
                        placeholders::_1, placeholders::_2, placeholders::_3);
 
@@ -1032,7 +1069,7 @@ extern "C" int icd_ioty_put(GVariant *resource, const char *repr, GVariant *quer
 
 
 extern "C" int icd_ioty_post(GVariant *resource, const char *repr, GVariant *query,
-               const char *sig_name)
+               unsigned int signal_number, const char *sender)
 {
        FN_CALL;
        int ret;
@@ -1041,8 +1078,7 @@ extern "C" int icd_ioty_post(GVariant *resource, const char *repr, GVariant *que
        QueryParamsMap queryParams;
        OCRepresentation ocRep;
        GVariantIter *queryIter;
-       char *key;
-       char *value;
+       char *key, *value;
 
        g_variant_get(query, "a(ss)", &queryIter);
        while (g_variant_iter_loop(queryIter, "(&s&s)", &key, &value))
@@ -1058,7 +1094,7 @@ extern "C" int icd_ioty_post(GVariant *resource, const char *repr, GVariant *que
        ocResource = _icd_ioty_create_oc_resource(resource);
 
        shared_ptr<icdIotivityHandler::postObject> object
-               = make_shared<icdIotivityHandler::postObject>(sig_name);
+               = make_shared<icdIotivityHandler::postObject>(signal_number, sender);
        PostCallback postCallback = bind(&icdIotivityHandler::postObject::onPost, object,
                        placeholders::_1, placeholders::_2, placeholders::_3);
 
@@ -1072,7 +1108,8 @@ extern "C" int icd_ioty_post(GVariant *resource, const char *repr, GVariant *que
 }
 
 
-extern "C" int icd_ioty_delete(GVariant *resource, const char *sig_name)
+extern "C" int icd_ioty_delete(GVariant *resource, unsigned int signal_number,
+               const char *sender)
 {
        FN_CALL;
        OCStackResult ret;
@@ -1081,7 +1118,7 @@ extern "C" int icd_ioty_delete(GVariant *resource, const char *sig_name)
        ocResource = _icd_ioty_create_oc_resource(resource);
 
        shared_ptr<icdIotivityHandler::deleteObject> object
-               = make_shared<icdIotivityHandler::deleteObject>(sig_name);
+               = make_shared<icdIotivityHandler::deleteObject>(signal_number, sender);
        DeleteCallback deleteCallback = bind(&icdIotivityHandler::deleteObject::onDelete,
                        object, placeholders::_1, placeholders::_2);
 
@@ -1095,8 +1132,8 @@ extern "C" int icd_ioty_delete(GVariant *resource, const char *sig_name)
 }
 
 
-extern "C" int icd_ioty_observer_start(GVariant *resource, int observe_type, GVariant *query,
-               const char *sig_name, int *observe_h)
+extern "C" int icd_ioty_observer_start(GVariant *resource, int observe_type,
+               GVariant *query, unsigned int signal_number, const char *sender, int *observe_h)
 {
        OCStackResult ret;
        OCResource::Ptr ocResource;
@@ -1104,8 +1141,7 @@ extern "C" int icd_ioty_observer_start(GVariant *resource, int observe_type, GVa
        QueryParamsMap queryParams;
        OCRepresentation ocRep;
        GVariantIter *queryIter;
-       char *key;
-       char *value;
+       char *key, *value;
 
        g_variant_get(query, "a(ss)", &queryIter);
        while (g_variant_iter_loop(queryIter, "(&s&s)", &key, &value))
@@ -1128,7 +1164,7 @@ extern "C" int icd_ioty_observer_start(GVariant *resource, int observe_type, GVa
        *observe_h = GPOINTER_TO_INT((void*)obs_h);
 
        shared_ptr<icdIotivityHandler::observeObject> object
-               = make_shared<icdIotivityHandler::observeObject>(sig_name);
+               = make_shared<icdIotivityHandler::observeObject>(signal_number, sender);
        ObserveCallback observeCallback = bind(&icdIotivityHandler::observeObject::onObserve,
                        object, placeholders::_1, placeholders::_2, placeholders::_3,
                        placeholders::_4);
@@ -1193,14 +1229,14 @@ extern "C" int icd_ioty_register_device_info(GVariant *value)
 
 
 extern "C" int icd_ioty_get_device_info(const char *host_address,
-               const char *sig_name)
+               unsigned int signal_number, const char *sender)
 {
        FN_CALL;
        OCStackResult ret;
        string resHost = string(ICD_COAP) + host_address + string(ICD_DEVICE_DISCOVERY);
 
        shared_ptr<icdIotivityHandler::deviceObject> object
-               = make_shared<icdIotivityHandler::deviceObject>(sig_name);
+               = make_shared<icdIotivityHandler::deviceObject>(signal_number, sender);
        FindDeviceCallback findDeviceCallback = bind(
                        &icdIotivityHandler::deviceObject::receivedDeviceInfo,
                        object,
@@ -1217,15 +1253,14 @@ extern "C" int icd_ioty_get_device_info(const char *host_address,
 
 
 extern "C" iotcon_presence_h icd_ioty_subscribe_presence(const char *host_address,
-               const char *resource_type,
-               const char *sig_name)
+               const char *resource_type, unsigned int signal_number, const char *sender)
 {
        OCStackResult ret;
        iotcon_presence_h presence_handle = NULL;
        string host;
 
        shared_ptr<icdIotivityHandler::presenceObject> object
-               = make_shared<icdIotivityHandler::presenceObject>(sig_name);
+               = make_shared<icdIotivityHandler::presenceObject>(signal_number, sender);
        SubscribeCallback subscribeCallback
                = bind(&icdIotivityHandler::presenceObject::presenceHandler, object,
                                placeholders::_1, placeholders::_2, placeholders::_3);
index 18c4c85b6c1e13606e44589d18e24b9997d30f73..c5f921e3af14b007390335e7b57c91ae943aacf7 100644 (file)
@@ -22,8 +22,8 @@
 
 void icd_ioty_config(const char *addr, unsigned short port);
 
-void* icd_ioty_register_resource(const char *uri, const char* const* res_types, int ifaces,
-               uint8_t properties);
+void* icd_ioty_register_resource(const char *uri, const char* const* res_types,
+               int ifaces, uint8_t properties);
 
 int icd_ioty_unregister_resource(iotcon_resource_h resource_handle);
 
@@ -42,29 +42,31 @@ int icd_ioty_notify_all(int resHandle);
 int icd_ioty_send_response(GVariant *resp);
 
 int icd_ioty_find_resource(const char *host_address, const char *resource_type,
-               const char *sig_name);
+               unsigned int signal_number, const char *sender);
 
-int icd_ioty_get(GVariant *resource, GVariant *query, const char *sig_name);
+int icd_ioty_get(GVariant *resource, GVariant *query, unsigned int signal_number,
+               const char *sender);
 
 int icd_ioty_put(GVariant *resource, const char *repr, GVariant *query,
-               const char *sig_name);
+               unsigned int signal_number, const char *sender);
 
 int icd_ioty_post(GVariant *resource, const char *repr, GVariant *query,
-               const char *sig_name);
+               unsigned int signal_number, const char *sender);
 
-int icd_ioty_delete(GVariant *resource, const char *sig_name);
+int icd_ioty_delete(GVariant *resource, unsigned int signal_number, const char *sender);
 
 int icd_ioty_observer_start(GVariant *resource, int observe_type, GVariant *query,
-          const char *sig_name, int *observe_h);
+               unsigned int signal_number, const char *sender, int *observe_h);
 
 int icd_ioty_observer_stop(void *observe_h);
 
 int icd_ioty_register_device_info(GVariant *value);
 
-int icd_ioty_get_device_info(const char *host_address, const char *sig_name);
+int icd_ioty_get_device_info(const char *host_address, unsigned int signal_number,
+               const char *sender);
 
 iotcon_presence_h icd_ioty_subscribe_presence(const char *host_address,
-               const char *resource_type, const char *sig_name);
+               const char *resource_type, unsigned int signal_number, const char *sender);
 
 int icd_ioty_unsubscribe_presence(iotcon_presence_h presence_handle);
 
index 758a66718ec50770df2857e84b2f0acf04bb12e9..2d6f20f5756364cc356adfdc25484571dc253f8a 100644 (file)
@@ -38,6 +38,14 @@ typedef struct {
        unsigned int id;
 } icl_cb_container_s;
 
+static inline unsigned int _icl_dbus_generate_signal_number()
+{
+       static unsigned int i = 0;
+
+       return i++;
+}
+
+
 static inline int _icl_dbus_get()
 {
        if (NULL == icl_dbus_conn) {
@@ -196,7 +204,7 @@ void* icl_dbus_register_resource(const char *uri, iotcon_resource_types_h types,
        int resource_handle;
        GError *error = NULL;
        const gchar **res_types;
-       char sig_name[100];
+       char sig_name[IC_DBUS_SIGNAL_LENGTH];
 
        RETV_IF(NULL == icl_dbus_object, NULL);
 
@@ -215,7 +223,10 @@ void* icl_dbus_register_resource(const char *uri, iotcon_resource_types_h types,
                return NULL;
        }
 
-       snprintf(sig_name, sizeof(sig_name), "reg%u", resource_handle);
+       /* TODO
+        * Change how to determine signal_number of request_handler */
+       snprintf(sig_name, sizeof(sig_name), "%s_%u", IC_DBUS_SIGNAL_REQUEST_HANDLER,
+                       resource_handle);
        ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_request_handler);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
@@ -438,21 +449,26 @@ int icl_dbus_find_resource(const char *host_address, const char *resource_type,
                iotcon_found_resource_cb cb, void *user_data)
 {
        int ret;
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        GError *error = NULL;
-       /* How to determine signal name */
-       char *sig_name = "client_find_resource";
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        ic_dbus_call_find_resource_sync(icl_dbus_object, host_address, resource_type,
-                       sig_name, &ret, NULL, &error);
+                       signal_number, &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_find_resource_sync() Fail(%s)", error->message);
                g_error_free(error);
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_found_resource);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_FOUND_RESOURCE,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_found_resource);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return IOTCON_ERROR_DBUS;
@@ -532,15 +548,18 @@ int icl_dbus_get(iotcon_client_h resource, iotcon_query_h query,
 {
        int ret;
        GError *error = NULL;
-       char *sig_name = "client_get";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        GVariant *arg_client;
        GVariant *arg_query;
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        arg_client = icl_dbus_client_to_gvariant(resource);
        arg_query = icl_dbus_query_to_gvariant(query);
-       ic_dbus_call_get_sync(icl_dbus_object, arg_client, arg_query, sig_name,
+       ic_dbus_call_get_sync(icl_dbus_object, arg_client, arg_query, signal_number,
                        &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_get_sync() Fail(%s)", error->message);
@@ -550,7 +569,10 @@ int icl_dbus_get(iotcon_client_h resource, iotcon_query_h query,
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_on_cru);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_GET,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_on_cru);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return IOTCON_ERROR_DBUS;
@@ -565,13 +587,16 @@ int icl_dbus_put(iotcon_client_h resource, iotcon_repr_h repr,
 {
        int ret;
        GError *error = NULL;
-       char *sig_name = "client_put";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        char *arg_repr;
        GVariant *arg_client;
        GVariant *arg_query;
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        arg_repr = icl_repr_generate_json(repr, FALSE);
        if (NULL == arg_repr) {
                ERR("icl_repr_generate_json() Fail");
@@ -582,7 +607,7 @@ int icl_dbus_put(iotcon_client_h resource, iotcon_repr_h repr,
        arg_query = icl_dbus_query_to_gvariant(query);
 
        ic_dbus_call_put_sync(icl_dbus_object, arg_client, arg_repr, arg_query,
-                       sig_name, &ret, NULL, &error);
+                       signal_number, &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_put_sync() Fail(%s)", error->message);
                g_error_free(error);
@@ -592,7 +617,10 @@ int icl_dbus_put(iotcon_client_h resource, iotcon_repr_h repr,
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_on_cru);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_PUT,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_on_cru);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                free(arg_repr);
@@ -610,13 +638,16 @@ int icl_dbus_post(iotcon_client_h resource, iotcon_repr_h repr,
 {
        int ret;
        GError *error = NULL;
-       char *sig_name = "client_post";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        char *arg_repr;
        GVariant *arg_client;
        GVariant *arg_query;
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        arg_repr = icl_repr_generate_json(repr, FALSE);
        if (NULL == arg_repr) {
                ERR("icl_repr_generate_json() Fail");
@@ -627,7 +658,7 @@ int icl_dbus_post(iotcon_client_h resource, iotcon_repr_h repr,
        arg_query = icl_dbus_query_to_gvariant(query);
 
        ic_dbus_call_post_sync(icl_dbus_object, arg_client, arg_repr, arg_query,
-                       sig_name, &ret, NULL, &error);
+                       signal_number, &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_post_sync() Fail(%s)", error->message);
                g_error_free(error);
@@ -637,7 +668,10 @@ int icl_dbus_post(iotcon_client_h resource, iotcon_repr_h repr,
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_on_cru);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_POST,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_on_cru);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                free(arg_repr);
@@ -691,14 +725,17 @@ int icl_dbus_delete(iotcon_client_h resource, iotcon_on_delete_cb cb,
 {
        int ret;
        GError *error = NULL;
-       char *sig_name = "client_delete";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        GVariant *arg_client;
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        arg_client = icl_dbus_client_to_gvariant(resource);
 
-       ic_dbus_call_delete_sync(icl_dbus_object, arg_client, sig_name, &ret, NULL,
+       ic_dbus_call_delete_sync(icl_dbus_object, arg_client, signal_number, &ret, NULL,
                        &error);
        if (error) {
                ERR("ic_dbus_call_delete_sync() Fail(%s)", error->message);
@@ -707,7 +744,10 @@ int icl_dbus_delete(iotcon_client_h resource, iotcon_on_delete_cb cb,
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_on_delete);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_DELETE,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_on_delete);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return IOTCON_ERROR_DBUS;
@@ -790,17 +830,20 @@ int icl_dbus_observer_start(iotcon_client_h resource,
        int ret;
        int observe_h;
        GError *error = NULL;
-       char *sig_name = "client_observe";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
        GVariant *arg_client;
        GVariant *arg_query;
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        arg_client = icl_dbus_client_to_gvariant(resource);
        arg_query = icl_dbus_query_to_gvariant(query);
 
        ic_dbus_call_observer_start_sync(icl_dbus_object, arg_client, observe_type,
-                       arg_query, sig_name, &observe_h, &ret, NULL, &error);
+                       arg_query, signal_number, &observe_h, &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_observer_start_sync() Fail(%s)", error->message);
                g_error_free(error);
@@ -811,7 +854,10 @@ int icl_dbus_observer_start(iotcon_client_h resource,
 
        resource->observe_handle = observe_h;
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_on_observe);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_OBSERVE,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_on_observe);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return IOTCON_ERROR_DBUS;
@@ -914,20 +960,26 @@ int icl_dbus_get_device_info(const char *host_address, iotcon_device_info_cb cb,
 {
        int ret;
        GError *error = NULL;
-       /* How to determine signal name */
-       char *sig_name = "client_get_device";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        ic_dbus_call_get_device_info_sync(icl_dbus_object, host_address,
-                       sig_name, &ret, NULL, &error);
+                       signal_number, &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_get_device_info_sync() Fail(%s)", error->message);
                g_error_free(error);
                return IOTCON_ERROR_DBUS;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_received_device_info);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_DEVICE,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data,
+                       _icl_dbus_received_device_info);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return IOTCON_ERROR_DBUS;
@@ -1002,20 +1054,25 @@ void* icl_dbus_subscribe_presence(const char *host_address,
        int ret;
        int presence_h;
        GError *error = NULL;
-
-       char *sig_name = "client_subscribe_presence";
+       int signal_number;
+       char signal_name[IC_DBUS_SIGNAL_LENGTH] = {0};
 
        RETV_IF(NULL == icl_dbus_object, NULL);
 
+       signal_number = _icl_dbus_generate_signal_number();
+
        ic_dbus_call_subscribe_presence_sync(icl_dbus_object, host_address, type,
-                       sig_name, &presence_h, NULL, &error);
+                       signal_number, &presence_h, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_subscribe_presence_sync() Fail(%s)", error->message);
                g_error_free(error);
                return NULL;
        }
 
-       ret = _dbus_subscribe_signal(sig_name, cb, user_data, _icl_dbus_presence_handler);
+       snprintf(signal_name, sizeof(signal_name), "%s_%u", IC_DBUS_SIGNAL_PRESENCE,
+                       signal_number);
+
+       ret = _dbus_subscribe_signal(signal_name, cb, user_data, _icl_dbus_presence_handler);
        if (IOTCON_ERROR_NONE != ret) {
                ERR("_dbus_subscribe_signal() Fail");
                return NULL;
@@ -1032,8 +1089,8 @@ int icl_dbus_unsubscribe_presence(void *presence_h)
 
        RETV_IF(NULL == icl_dbus_object, IOTCON_ERROR_DBUS);
 
-       ic_dbus_call_unsubscribe_presence_sync(icl_dbus_object,
-                       GPOINTER_TO_INT(presence_h), &ret, NULL, &error);
+       ic_dbus_call_unsubscribe_presence_sync(icl_dbus_object, GPOINTER_TO_INT(presence_h),
+                       &ret, NULL, &error);
        if (error) {
                ERR("ic_dbus_call_unsubscribe_presence_sync() Fail(%s)", error->message);
                g_error_free(error);