summaryrefslogtreecommitdiff
path: root/geofence/src/geofence_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'geofence/src/geofence_client.c')
-rw-r--r--geofence/src/geofence_client.c37
1 files changed, 22 insertions, 15 deletions
diff --git a/geofence/src/geofence_client.c b/geofence/src/geofence_client.c
index eca2942..319f75d 100644
--- a/geofence/src/geofence_client.c
+++ b/geofence/src/geofence_client.c
@@ -46,7 +46,7 @@ static void __geofence_signal_callback(GDBusConnection *conn, const gchar *name,
handle->user_cb(sig, param, handle->user_data);
}
-EXPORT_API int geo_client_add_geofence(geofence_client_dbus_h geofence_client, gchar *app_id, gint place_id, gint geofence_type, gdouble latitude, gdouble longitude, gint radius, const gchar *address, const gchar *bssid, const gchar *ssid)
+EXPORT_API int geo_client_add_geofence(geofence_client_dbus_h geofence_client, gchar *app_id, gint place_id, gint geofence_type, gdouble latitude, gdouble longitude, gint radius, const gchar *address, const gchar *bssid, const gchar *ssid, gint *error_code)
{
GEOFENCE_CLIENT_LOGD("ENTER >>>");
g_return_val_if_fail(geofence_client, GEOFENCE_CLIENT_ERROR_PARAMETER);
@@ -71,6 +71,8 @@ EXPORT_API int geo_client_add_geofence(geofence_client_dbus_h geofence_client, g
GEOFENCE_CLIENT_LOGE("Fail to add geofence Error[%s]", error->message);
g_error_free(error);
}
+ if (error_code != NULL)
+ *error_code = GEOFENCE_CLIENT_ACCESS_DENIED;
}
g_object_unref(proxy);
} else {
@@ -102,8 +104,8 @@ EXPORT_API int geo_client_delete_geofence(geofence_client_dbus_h geofence_client
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
@@ -131,7 +133,8 @@ EXPORT_API int geo_client_get_geofences(geofence_client_dbus_h geofence_client,
reg = g_dbus_proxy_call_sync(proxy, "GetGeofences", g_variant_new("(is)", place_id, app_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
if (reg) {
g_variant_get(reg, "(iiaa{sv})", &new_fence_cnt, &new_error_code, &iterator);
- *error_code = new_error_code;
+ if (error_code != NULL)
+ *error_code = new_error_code;
*fence_cnt = new_fence_cnt;
if (iterator == NULL)
GEOFENCE_CLIENT_LOGE("Iterator is null");
@@ -141,8 +144,8 @@ EXPORT_API int geo_client_get_geofences(geofence_client_dbus_h geofence_client,
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get the list Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
g_object_unref(proxy);
} else {
@@ -173,8 +176,8 @@ EXPORT_API int geo_client_enable_geofence(geofence_client_dbus_h geofence_client
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
@@ -199,8 +202,8 @@ EXPORT_API int geo_client_start_geofence(geofence_client_dbus_h geofence_client,
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
}
@@ -224,14 +227,14 @@ EXPORT_API int geo_client_stop_geofence(geofence_client_dbus_h geofence_client,
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
}
-EXPORT_API int geo_client_add_place(geofence_client_dbus_h geofence_client, gchar *app_id, const gchar *place_name)
+EXPORT_API int geo_client_add_place(geofence_client_dbus_h geofence_client, gchar *app_id, const gchar *place_name, gint *error_code)
{
/* add fence interface between App & geofence-server */
GEOFENCE_CLIENT_LOGD("ENTER >>>");
@@ -258,6 +261,8 @@ EXPORT_API int geo_client_add_place(geofence_client_dbus_h geofence_client, gcha
GEOFENCE_CLIENT_LOGE("Fail to add place Error[%s]", error->message);
g_error_free(error);
}
+ if (error_code != NULL)
+ *error_code = GEOFENCE_CLIENT_ACCESS_DENIED;
}
g_object_unref(proxy);
} else {
@@ -289,8 +294,8 @@ EXPORT_API int geo_client_update_place(geofence_client_dbus_h geofence_client, g
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
@@ -313,8 +318,8 @@ EXPORT_API int geo_client_delete_place(geofence_client_dbus_h geofence_client, g
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
return ret;
@@ -338,7 +343,8 @@ EXPORT_API int geo_client_get_place_name(geofence_client_dbus_h geofence_client,
reg = g_dbus_proxy_call_sync(proxy, "GetPlaceName", g_variant_new("(is)", place_id, app_id), G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
if (reg) {
g_variant_get(reg, "(is)", &new_error_code, &new_place_name);
- *error_code = new_error_code;
+ if (error_code != NULL)
+ *error_code = new_error_code;
*place_name = g_strdup(new_place_name);
g_free(new_place_name);
g_variant_unref(reg);
@@ -346,8 +352,8 @@ EXPORT_API int geo_client_get_place_name(geofence_client_dbus_h geofence_client,
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get the place name Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
g_object_unref(proxy);
} else {
@@ -385,7 +391,8 @@ EXPORT_API int geo_client_get_places(geofence_client_dbus_h geofence_client, gch
if (reg) {
g_variant_get(reg, "(iiaa{sv})", &new_place_cnt, &new_error_code, &iterator);
*place_cnt = new_place_cnt;
- *error_code = new_error_code;
+ if (error_code != NULL)
+ *error_code = new_error_code;
if (iterator == NULL)
GEOFENCE_CLIENT_LOGE("Iterator is null");
*iter = iterator;
@@ -394,16 +401,16 @@ EXPORT_API int geo_client_get_places(geofence_client_dbus_h geofence_client, gch
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get the place list Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ACCESS_DENIED;
}
g_object_unref(proxy);
} else {
if (error) {
GEOFENCE_CLIENT_LOGE("Fail to get proxy Error[%s]", error->message);
g_error_free(error);
- ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
+ ret = GEOFENCE_CLIENT_ERROR_DBUS_CALL;
}
return ret;