GVariantBuilder *builder = NULL;
GDBusProxy *proxy = NULL;
gchar *signal_path = NULL;
+ int ret = LBS_CLIENT_ERROR_NONE;
signal_path = g_strdup_printf("%s/%s", SERVICE_PATH, "SAMSUNG");
LBS_CLIENT_LOGD("LBS signal subscribe Object Path [%s]", signal_path);
method = g_variant_ref_sink(g_variant_new("(i)", handle->method));
proxy = g_dbus_proxy_new_sync(handle->conn, G_DBUS_PROXY_FLAGS_NONE, NULL, SERVICE_NAME, SERVICE_PATH, "org.tizen.lbs.Manager", NULL, &error);
+
+ if (error && error->message) {
+ if (error->code == G_DBUS_ERROR_ACCESS_DENIED) {
+ LBS_CLIENT_LOGI("Access denied. Msg[%s]", error->message);
+ ret = LBS_CLIENT_ERROR_ACCESS_DENIED;
+ } else {
+ LBS_CLIENT_LOGI("Fail to new proxy ErrCode[%d], Msg[%s]", error->code, error->message);
+ ret = LBS_CLIENT_ERROR_DBUS_CALL;
+ }
+ g_error_free(error);
+ g_variant_unref(param);
+ g_variant_unref(method);
+
+ g_object_unref(proxy);
+ return ret;
+ }
+
+ error = NULL;
if (proxy) {
reg = g_dbus_proxy_call_sync(proxy, "SetOptions", param, G_DBUS_CALL_FLAGS_NO_AUTO_START, -1, NULL, &error);
+ if (error && error->message) {
+ if (error->code == G_DBUS_ERROR_ACCESS_DENIED) {
+ LBS_CLIENT_LOGI("Access denied. Msg[%s]", error->message);
+ ret = LBS_CLIENT_ERROR_ACCESS_DENIED;
+ } else {
+ LBS_CLIENT_LOGI("Fail to proxy call. ErrCode[%d], Msg[%s]", error->code, error->message);
+ ret = LBS_CLIENT_ERROR_DBUS_CALL;
+ }
+ g_error_free(error);
+ g_variant_unref(param);
+ g_variant_unref(method);
+
+ g_object_unref(proxy);
+ return ret;
+ }
+
+ if (reg) {
+ g_variant_unref(reg);
+ reg = NULL;
+ }
+
+ reg = g_dbus_proxy_call_sync(proxy, "RemoveReference", method, G_DBUS_CALL_FLAGS_NO_AUTO_START, -1, NULL, &error);
+
+ if (error && error->message) {
+ if (error->code == G_DBUS_ERROR_ACCESS_DENIED) {
+ LBS_CLIENT_LOGI("Access denied. Msg[%s]", error->message);
+ ret = LBS_CLIENT_ERROR_ACCESS_DENIED;
+ } else {
+ LBS_CLIENT_LOGI("Fail to proxy call. ErrCode[%d], Msg[%s]", error->code, error->message);
+ ret = LBS_CLIENT_ERROR_DBUS_CALL;
+ }
+ g_error_free(error);
+ g_variant_unref(param);
+ g_variant_unref(method);
+
+ g_object_unref(proxy);
+ return ret;
+ }
if (reg) {
g_variant_unref(reg);
reg = NULL;