This function, not directly related to service, is used for instance
in network.c and will be used elsewhere when implementing more peer
logic.
---
 Makefile.am    |  5 +++--
 include/dbus.h |  3 +++
 src/connman.h  |  2 --
 src/dbus.c     | 32 ++++++++++++++++++++++++++++++++
 src/network.c  |  2 +-
 src/service.c  | 37 ++-----------------------------------
 6 files changed, 41 insertions(+), 40 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index 53bf799..6f3f3d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -263,7 +263,8 @@ unit_test_prf_sha1_SOURCES = unit/test-prf-sha1.c \
                                src/shared/sha1.h src/shared/sha1.c
 unit_test_prf_sha1_LDADD = @GLIB_LIBS@
 
-unit_test_ippool_SOURCES = src/log.c src/dbus.c src/ippool.c unit/test-ippool.c
+unit_test_ippool_SOURCES = src/log.c src/dbus.c src/error.c \
+                                       src/ippool.c unit/test-ippool.c
 unit_test_ippool_LDADD = gdbus/libgdbus-internal.la \
                                @GLIB_LIBS@ @DBUS_LIBS@ -ldl
 
@@ -319,7 +320,7 @@ tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
 
 tools_private_network_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
 
-tools_session_test_SOURCES = src/log.c src/dbus.c \
+tools_session_test_SOURCES = src/log.c src/dbus.c src/error.c \
                tools/session-test.c tools/session-utils.c tools/manager-api.c \
                tools/session-api.c tools/session-test.h
 tools_session_test_LDADD = gdbus/libgdbus-internal.la \
diff --git a/include/dbus.h b/include/dbus.h
index 253a23b..26f94d6 100644
--- a/include/dbus.h
+++ b/include/dbus.h
@@ -188,6 +188,9 @@ int connman_dbus_get_selinux_context(DBusConnection 
*connection,
                                connman_dbus_get_context_cb_t func,
                                void *user_data);
 
+void connman_dbus_reply_pending(DBusMessage *pending,
+                                       int error, const char *path);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/connman.h b/src/connman.h
index 6bd7e3b..f286b12 100644
--- a/src/connman.h
+++ b/src/connman.h
@@ -710,8 +710,6 @@ void __connman_service_set_hidden_data(struct 
connman_service *service,
                                gpointer user_data);
 void __connman_service_return_error(struct connman_service *service,
                                int error, gpointer user_data);
-void __connman_service_reply_dbus_pending(DBusMessage *pending, int error,
-                                       const char *path);
 
 int __connman_service_provision_changed(const char *ident);
 void __connman_service_set_config(struct connman_service *service,
diff --git a/src/dbus.c b/src/dbus.c
index 4fa0b36..d80a46c 100644
--- a/src/dbus.c
+++ b/src/dbus.c
@@ -653,6 +653,38 @@ err:
        return err;
 }
 
+void connman_dbus_reply_pending(DBusMessage *pending,
+                                       int error, const char *path)
+{
+       if (pending) {
+               if (error > 0) {
+                       DBusMessage *reply;
+
+                       reply = __connman_error_failed(pending, error);
+                       if (reply)
+                               g_dbus_send_message(connection, reply);
+               } else {
+                       const char *sender;
+
+                       sender = dbus_message_get_interface(pending);
+                       if (!path)
+                               path = dbus_message_get_path(pending);
+
+                       DBG("sender %s path %s", sender, path);
+
+                       if (g_strcmp0(sender, CONNMAN_MANAGER_INTERFACE) == 0)
+                               g_dbus_send_reply(connection, pending,
+                                       DBUS_TYPE_OBJECT_PATH, &path,
+                                                       DBUS_TYPE_INVALID);
+                       else
+                               g_dbus_send_reply(connection, pending,
+                                                       DBUS_TYPE_INVALID);
+               }
+
+               dbus_message_unref(pending);
+       }
+}
+
 DBusConnection *connman_dbus_get_connection(void)
 {
        if (!connection)
diff --git a/src/network.c b/src/network.c
index 160bd06..37f807c 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1469,7 +1469,7 @@ void connman_network_clear_hidden(void *user_data)
         * error to the caller telling that we could not find
         * any network that we could connect to.
         */
-       __connman_service_reply_dbus_pending(user_data, EIO, NULL);
+       connman_dbus_reply_pending(user_data, EIO, NULL);
 }
 
 int connman_network_connect_hidden(struct connman_network *network,
diff --git a/src/service.c b/src/service.c
index b0a4eeb..9406bc3 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3800,50 +3800,17 @@ static void remove_timeout(struct connman_service 
*service)
        }
 }
 
-void __connman_service_reply_dbus_pending(DBusMessage *pending, int error,
-                                       const char *path)
-{
-       if (pending) {
-               if (error > 0) {
-                       DBusMessage *reply;
-
-                       reply = __connman_error_failed(pending, error);
-                       if (reply)
-                               g_dbus_send_message(connection, reply);
-               } else {
-                       const char *sender;
-
-                       sender = dbus_message_get_interface(pending);
-                       if (!path)
-                               path = dbus_message_get_path(pending);
-
-                       DBG("sender %s path %s", sender, path);
-
-                       if (g_strcmp0(sender, CONNMAN_MANAGER_INTERFACE) == 0)
-                               g_dbus_send_reply(connection, pending,
-                                       DBUS_TYPE_OBJECT_PATH, &path,
-                                                       DBUS_TYPE_INVALID);
-                       else
-                               g_dbus_send_reply(connection, pending,
-                                                       DBUS_TYPE_INVALID);
-               }
-
-               dbus_message_unref(pending);
-       }
-}
-
 static void reply_pending(struct connman_service *service, int error)
 {
        remove_timeout(service);
 
        if (service->pending) {
-               __connman_service_reply_dbus_pending(service->pending, error,
-                                               NULL);
+               connman_dbus_reply_pending(service->pending, error, NULL);
                service->pending = NULL;
        }
 
        if (service->provider_pending) {
-               __connman_service_reply_dbus_pending(service->provider_pending,
+               connman_dbus_reply_pending(service->provider_pending,
                                                error, service->path);
                service->provider_pending = NULL;
        }
-- 
1.8.5.5

_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman

Reply via email to