Support synchronous event requests 88/255588/2
authorInHong Han <inhong1.han@samsung.com>
Fri, 19 Mar 2021 09:01:51 +0000 (18:01 +0900)
committerInHong Han <inhong1.han@samsung.com>
Fri, 19 Mar 2021 09:25:25 +0000 (18:25 +0900)
Change-Id: I44944990c8f4d386f878e9221ca4ee531636dbcc

engine-loader/src/engine_loader.cpp
engine-loader/src/engine_loader_dbus.cpp

index a4e0d17..c8a58cf 100644 (file)
@@ -554,6 +554,10 @@ void EngineLoader::flush_imengine()
 {
     if (!m_impl->si.null()) {
         m_impl->si->flush ();
+
+        int ret = engine_loader_send_message(g_variant_new("()"), "engine_loader_event_done");
+        if (ret != ENGINE_LOADER_ERROR_NONE)
+            LOGE("Failed to send event_done message");
     }
 }
 
@@ -561,6 +565,10 @@ void EngineLoader::reset_imengine()
 {
     if (!m_impl->si.null ()) {
         m_impl->si->reset ();
+
+        int ret = engine_loader_send_message(g_variant_new("()"), "engine_loader_event_done");
+        if (ret != ENGINE_LOADER_ERROR_NONE)
+            LOGE("Failed to send event_done message");
     }
 }
 
index e459426..570e067 100644 (file)
@@ -437,6 +437,15 @@ int engine_loader_send_message(GVariant *body, const char *cmd)
         return ENGINE_LOADER_ERROR_IO_ERROR;
     }
 
+    if (!g_dbus_connection_flush_sync(g_gdbus_connection,
+                                     nullptr,
+                                     &err)) {
+        if (err != NULL) {
+            LOGE("Failed to flush connection : %s", err->message);
+            g_error_free(err);
+        }
+    }
+
     return ENGINE_LOADER_ERROR_NONE;
 }