ret = g_dbus_connection_emit_signal(dh->conn, dest, path, iface, name, param, &err);
if (err) {
- _E("%d %s\n", ret, err ? err->message : NULL);
+ _E("%d %s\n", ret, err ? err->message : "NULL");
+ g_error_free(err);
+ }
+
+ return ret;
+}
+
+int dbus_handle_emit_dbus_signal_sync(const char *dest,
+ const char *path,
+ const char *iface,
+ const char *name,
+ GVariant *param)
+{
+ dbus_handle_s *dh = NULL;
+ GError *err = NULL;
+ gboolean ret = 0;
+
+ dh = _dbus_handle_get_default_connection();
+ if (!dh) {
+ _E("failed to get default connection, bustype:%d", (int)dbus_handle_get_default_bus_type());
+ return -1;
+ }
+
+ ret = g_dbus_connection_emit_signal(dh->conn, dest, path, iface, name, param, &err);
+ if (!ret) {
+ _E("%d %s\n", ret, err ? err->message : "NULL");
+ g_error_free(err);
+ }
+
+ ret = g_dbus_connection_flush_sync(dh->conn, NULL, &err);
+ if (!ret) {
+ _E("%d %s\n", ret, err ? err->message : "NULL");
+ g_error_free(err);
+ }
+
+ return ret;
+}
+
+int dbus_handle_flush_sync(dbus_handle_h handle)
+{
+ dcl_dbus_handle();
+ GError *err = NULL;
+ gboolean ret = 0;
+
+ if (!dh) {
+ dh = _dbus_handle_get_default_connection();
+ if (!dh) {
+ _E("failed to get default connection, bustype:%d", (int)dbus_handle_get_default_bus_type());
+ return 0;
+ }
+ }
+
+ ret = g_dbus_connection_flush_sync(dh->conn, NULL, &err);
+ if (!ret) {
+ _E("%d %s\n", ret, err ? err->message : "NULL");
g_error_free(err);
}