[Hello Message] autoreply finished using worker function
authorMichal Eljasiewicz <m.eljasiewic@samsung.com>
Fri, 27 Sep 2013 10:25:33 +0000 (12:25 +0200)
committerLukasz Skalski <l.skalski@partner.samsung.com>
Fri, 25 Oct 2013 14:36:17 +0000 (16:36 +0200)
gio/gdbusprivate.c
gio/gdbusprivate.h
gio/gkdbus.c
gio/gkdbus.h

index 5a1f21f..ee55ff4 100644 (file)
@@ -508,7 +508,7 @@ _g_dbus_worker_emit_message_about_to_be_sent (GDBusWorker  *worker,
 }
 
 /* can only be called from private thread with read-lock held - takes ownership of @message */
-static void
+void
 _g_dbus_worker_queue_or_deliver_received_message (GDBusWorker  *worker,
                                                   GDBusMessage *message)
 {
@@ -995,7 +995,7 @@ write_message_continue_writing (MessageToWriteData *data)
     {
       GError *error;
       error = NULL;
-      data->total_written = g_kdbus_send_message(data->worker->kdbus, data->message, data->blob, data->blob_size, &error);
+      data->total_written = g_kdbus_send_message(data->worker, data->worker->kdbus, data->message, data->blob, data->blob_size, &error);
       
       if (data->total_written == data->blob_size)
         {
index 3a62867..5e6217b 100644 (file)
@@ -80,7 +80,9 @@ gboolean     _g_dbus_worker_flush_sync   (GDBusWorker    *worker,
 void         _g_dbus_worker_close        (GDBusWorker         *worker,
                                           GCancellable        *cancellable,
                                           GSimpleAsyncResult  *result);
-
+/* Samsung change */
+void _g_dbus_worker_queue_or_deliver_received_message (GDBusWorker  *worker,
+                                                       GDBusMessage *message);
 /* ---------------------------------------------------------------------------------------------------- */
 
 void _g_dbus_initialize (void);
index 527285f..2d3a89e 100644 (file)
@@ -409,7 +409,9 @@ g_kdbus_receive (GKdbus       *kdbus,
 }
 
 static gboolean
-g_kdbus_send_reply(GKdbus *kdbus, GDBusMessage    *dbus_msg)
+g_kdbus_send_reply(GDBusWorker     *worker, 
+                   GKdbus           *kdbus, 
+                   GDBusMessage    *dbus_msg)
 {
   GDBusMessage    *reply = NULL;
   char            *unique_name = NULL;
@@ -422,7 +424,7 @@ g_kdbus_send_reply(GKdbus *kdbus, GDBusMessage    *dbus_msg)
 
   g_dbus_message_set_body(reply, g_variant_new ("(s)", unique_name));
   
-  //_g_dbus_worker_queue_or_deliver_received_message (worker, message);
+  _g_dbus_worker_queue_or_deliver_received_message (worker, reply);
 }
 
 
@@ -432,7 +434,8 @@ g_kdbus_send_reply(GKdbus *kdbus, GDBusMessage    *dbus_msg)
  * @kdbus: a #GKdbus
  */
 gssize
-g_kdbus_send_message (GKdbus          *kdbus,
+g_kdbus_send_message (GDBusWorker     *worker,
+                      GKdbus          *kdbus,
                       GDBusMessage    *dbus_msg,
                       gchar           *blob,
                       gsize           blob_size,
@@ -458,7 +461,7 @@ g_kdbus_send_message (GKdbus          *kdbus,
       return -1;
     }
 
-    g_kdbus_send_reply(kdbus, dbus_msg);
+    g_kdbus_send_reply(worker, kdbus, dbus_msg);
     
     
     
index 7888797..f60b09e 100644 (file)
@@ -29,6 +29,7 @@
 #endif
 
 #include <gio/giotypes.h>
+#include "gdbusprivate.h"
 
 G_BEGIN_DECLS
 
@@ -91,7 +92,8 @@ gssize                  g_kdbus_receive                 (GKdbus       *kdbus,
                                                          void         *data,
                                                                     GError       **error);
 GLIB_AVAILABLE_IN_ALL
-gssize                  g_kdbus_send_message            (GKdbus          *kdbus,
+gssize                  g_kdbus_send_message            (GDBusWorker     *worker,
+                                                         GKdbus          *kdbus,
                                                          GDBusMessage    *dbus_msg,
                                                          gchar           *blob,
                                                          gsize            blob_size,