summaryrefslogtreecommitdiff
path: root/src/lib/elocation
diff options
context:
space:
mode:
authorStefan Schmidt <s.schmidt@samsung.com>2014-11-03 16:16:16 +0100
committerStefan Schmidt <s.schmidt@samsung.com>2014-11-21 10:38:39 +0100
commitf5dcadaab5d695a5cba928199a52daee0a94923b (patch)
tree060e931ec4204ba4f38b6bd640e2011af3c1f61c /src/lib/elocation
parentbe4fc157f219420d3699bfb3e200fa290ad9466d (diff)
downloadefl-f5dcadaab5d695a5cba928199a52daee0a94923b.tar.gz
elocation: Add generated GeoClue2 DBus helper code.
Generated by eldbus-codegen to avoid writing the boilerplate code by hand.
Diffstat (limited to 'src/lib/elocation')
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_client.c442
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_client.h32
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_location.c242
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_location.h18
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_manager.c203
-rw-r--r--src/lib/elocation/gen/eldbus_geo_clue2_manager.h19
-rw-r--r--src/lib/elocation/gen/eldbus_utils.h24
-rw-r--r--src/lib/elocation/gen/org.freedesktop.GeoClue2.xml199
8 files changed, 1179 insertions, 0 deletions
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_client.c b/src/lib/elocation/gen/eldbus_geo_clue2_client.c
new file mode 100644
index 0000000000..73fed906a7
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_client.c
@@ -0,0 +1,442 @@
+#include "eldbus_geo_clue2_client.h"
+
+static int _log_main = -1;
+#undef ERR
+#define ERR(...) EINA_LOG_DOM_ERR(_log_main, __VA_ARGS__);
+int GEO_CLUE2_CLIENT_LOCATION_UPDATED_EVENT = 0;
+
+static void
+cb_geo_clue2_client_start(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Geo_Clue2_Client_Start_Cb cb = data;
+ const char *error, *error_msg;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, ""))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ ERR("Error: Getting arguments from message.");
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ cb(proxy, user_data, pending, NULL);
+ return;
+}
+
+Eldbus_Pending *
+geo_clue2_client_start_call(Eldbus_Proxy *proxy, Geo_Clue2_Client_Start_Cb cb, const void *data)
+{
+ Eldbus_Message *msg;
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ msg = eldbus_proxy_method_call_new(proxy, "Start");
+ if (!eldbus_message_arguments_append(msg, ""))
+ {
+ ERR("Error: Filling message.");
+ return NULL;
+ }
+ p = eldbus_proxy_send(proxy, msg, cb_geo_clue2_client_start, cb, -1);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_stop(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Geo_Clue2_Client_Stop_Cb cb = data;
+ const char *error, *error_msg;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, ""))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ ERR("Error: Getting arguments from message.");
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ cb(proxy, user_data, pending, NULL);
+ return;
+}
+
+Eldbus_Pending *
+geo_clue2_client_stop_call(Eldbus_Proxy *proxy, Geo_Clue2_Client_Stop_Cb cb, const void *data)
+{
+ Eldbus_Message *msg;
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ msg = eldbus_proxy_method_call_new(proxy, "Stop");
+ if (!eldbus_message_arguments_append(msg, ""))
+ {
+ ERR("Error: Filling message.");
+ return NULL;
+ }
+ p = eldbus_proxy_send(proxy, msg, cb_geo_clue2_client_stop, cb, -1);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+geo_clue2_client_location_updated_data_free(void *user_data EINA_UNUSED, void *func_data)
+{
+ Geo_Clue2_Client_LocationUpdated_Data *s_data = func_data;
+ free(s_data->old);
+ free(s_data->new);
+ free(s_data);
+}
+
+static void
+on_geo_clue2_client_location_updated(void *data, const Eldbus_Message *msg)
+{
+ Eldbus_Proxy *proxy = data;
+ Geo_Clue2_Client_LocationUpdated_Data *s_data = calloc(1, sizeof(Geo_Clue2_Client_LocationUpdated_Data));
+ s_data->proxy = proxy;
+ if (!eldbus_message_arguments_get(msg, "oo", &s_data->old, &s_data->new))
+ {
+ ERR("Error: Getting arguments from message.");
+ free(s_data);
+ return;
+ }
+ s_data->old = strdup(s_data->old);
+ s_data->new = strdup(s_data->new);
+ ecore_event_add(GEO_CLUE2_CLIENT_LOCATION_UPDATED_EVENT, s_data, geo_clue2_client_location_updated_data_free, NULL);
+}
+
+static void
+cb_geo_clue2_client_location(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_String_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ const char *v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Location", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Location", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "o", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Location", proxy, &error_info, NULL);
+ return;
+ }
+ cb(user_data, pending, "Location", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_client_location_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Location", cb_geo_clue2_client_location, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_distance_threshold(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Uint32_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ unsigned int v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "DistanceThreshold", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "DistanceThreshold", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "u", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "DistanceThreshold", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "DistanceThreshold", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_client_distance_threshold_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "DistanceThreshold", cb_geo_clue2_client_distance_threshold, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_distance_threshold_set(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ const char *error, *error_msg;
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Codegen_Property_Set_Cb cb = data;
+ if (eldbus_message_error_get(msg, &error, &error_msg)) {
+ Eldbus_Error_Info error_info = {error, error_msg};
+
+ cb(user_data, "DistanceThreshold", proxy, pending, &error_info);
+ return;
+ }
+ cb(user_data, "DistanceThreshold", proxy, pending, NULL);
+}
+
+Eldbus_Pending *
+geo_clue2_client_distance_threshold_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
+ p = eldbus_proxy_property_set(proxy, "DistanceThreshold", "u", value, cb_geo_clue2_client_distance_threshold_set, data);
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_desktop_id(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_String_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ const char *v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "DesktopId", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "DesktopId", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "s", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "DesktopId", proxy, &error_info, NULL);
+ return;
+ }
+ cb(user_data, pending, "DesktopId", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_client_desktop_id_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "DesktopId", cb_geo_clue2_client_desktop_id, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_desktop_id_set(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ const char *error, *error_msg;
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Codegen_Property_Set_Cb cb = data;
+ if (eldbus_message_error_get(msg, &error, &error_msg)) {
+ Eldbus_Error_Info error_info = {error, error_msg};
+
+ cb(user_data, "DesktopId", proxy, pending, &error_info);
+ return;
+ }
+ cb(user_data, "DesktopId", proxy, pending, NULL);
+}
+
+Eldbus_Pending *
+geo_clue2_client_desktop_id_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
+ p = eldbus_proxy_property_set(proxy, "DesktopId", "s", value, cb_geo_clue2_client_desktop_id_set, data);
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_requested_accuracy_level(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Uint32_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ unsigned int v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "RequestedAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "RequestedAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "u", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "RequestedAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "RequestedAccuracyLevel", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_client_requested_accuracy_level_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "RequestedAccuracyLevel", cb_geo_clue2_client_requested_accuracy_level, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_requested_accuracy_level_set(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ const char *error, *error_msg;
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Codegen_Property_Set_Cb cb = data;
+ if (eldbus_message_error_get(msg, &error, &error_msg)) {
+ Eldbus_Error_Info error_info = {error, error_msg};
+
+ cb(user_data, "RequestedAccuracyLevel", proxy, pending, &error_info);
+ return;
+ }
+ cb(user_data, "RequestedAccuracyLevel", proxy, pending, NULL);
+}
+
+Eldbus_Pending *
+geo_clue2_client_requested_accuracy_level_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(value, NULL);
+ p = eldbus_proxy_property_set(proxy, "RequestedAccuracyLevel", "u", value, cb_geo_clue2_client_requested_accuracy_level_set, data);
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_client_active(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Bool_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ Eina_Bool v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Active", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Active", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "b", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Active", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "Active", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_client_active_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Bool_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Active", cb_geo_clue2_client_active, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+void
+geo_clue2_client_log_domain_set(int id)
+{
+ _log_main = id;
+}
+
+void
+geo_clue2_client_proxy_unref(Eldbus_Proxy *proxy)
+{
+ Eldbus_Object *obj = eldbus_proxy_object_get(proxy);
+ eldbus_proxy_unref(proxy);
+ eldbus_object_unref(obj);
+}
+
+Eldbus_Proxy *
+geo_clue2_client_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path)
+{
+ Eldbus_Object *obj;
+ Eldbus_Proxy *proxy;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
+ if (!path) path = "/";
+ obj = eldbus_object_get(conn, bus, path);
+ proxy = eldbus_proxy_get(obj, "org.freedesktop.GeoClue2.Client");
+ eldbus_proxy_signal_handler_add(proxy, "LocationUpdated", on_geo_clue2_client_location_updated, proxy);
+ if (!GEO_CLUE2_CLIENT_LOCATION_UPDATED_EVENT)
+ GEO_CLUE2_CLIENT_LOCATION_UPDATED_EVENT = ecore_event_type_new();
+ return proxy;
+}
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_client.h b/src/lib/elocation/gen/eldbus_geo_clue2_client.h
new file mode 100644
index 0000000000..5f73069bb1
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_client.h
@@ -0,0 +1,32 @@
+#ifndef ELDBUS_GEO_CLUE2_CLIENT_H
+#define ELDBUS_GEO_CLUE2_CLIENT_H
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Eldbus.h>
+#include "eldbus_utils.h"
+
+Eldbus_Proxy *geo_clue2_client_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path);
+void geo_clue2_client_proxy_unref(Eldbus_Proxy *proxy);
+void geo_clue2_client_log_domain_set(int id);
+typedef void (*Geo_Clue2_Client_Start_Cb)(Eldbus_Proxy *proxy, void *data, Eldbus_Pending *pending, Eldbus_Error_Info *error);
+Eldbus_Pending *geo_clue2_client_start_call(Eldbus_Proxy *proxy, Geo_Clue2_Client_Start_Cb cb, const void *data);
+typedef void (*Geo_Clue2_Client_Stop_Cb)(Eldbus_Proxy *proxy, void *data, Eldbus_Pending *pending, Eldbus_Error_Info *error);
+Eldbus_Pending *geo_clue2_client_stop_call(Eldbus_Proxy *proxy, Geo_Clue2_Client_Stop_Cb cb, const void *data);
+extern int GEO_CLUE2_CLIENT_LOCATION_UPDATED_EVENT;
+typedef struct _Geo_Clue2_Client_LocationUpdated_Data
+{
+ Eldbus_Proxy *proxy;
+ char *old;
+ char *new;
+} Geo_Clue2_Client_LocationUpdated_Data;
+Eldbus_Pending *geo_clue2_client_location_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_client_distance_threshold_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_client_distance_threshold_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
+Eldbus_Pending *geo_clue2_client_desktop_id_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_client_desktop_id_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
+Eldbus_Pending *geo_clue2_client_requested_accuracy_level_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_client_requested_accuracy_level_propset(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Set_Cb cb, const void *data, const void *value);
+Eldbus_Pending *geo_clue2_client_active_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Bool_Get_Cb cb, const void *data);
+
+#endif
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_location.c b/src/lib/elocation/gen/eldbus_geo_clue2_location.c
new file mode 100644
index 0000000000..53dbf3c3f6
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_location.c
@@ -0,0 +1,242 @@
+#include "eldbus_geo_clue2_location.h"
+
+static int _log_main = -1;
+#undef ERR
+#define ERR(...) EINA_LOG_DOM_ERR(_log_main, __VA_ARGS__);
+
+static void
+cb_geo_clue2_location_latitude(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Double_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ double v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Latitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Latitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "d", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Latitude", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "Latitude", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_location_latitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Latitude", cb_geo_clue2_location_latitude, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_location_longitude(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Double_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ double v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Longitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Longitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "d", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Longitude", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "Longitude", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_location_longitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Longitude", cb_geo_clue2_location_longitude, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_location_accuracy(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Double_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ double v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Accuracy", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Accuracy", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "d", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Accuracy", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "Accuracy", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_location_accuracy_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Accuracy", cb_geo_clue2_location_accuracy, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_location_altitude(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Double_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ double v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Altitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Altitude", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "d", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Altitude", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "Altitude", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_location_altitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Altitude", cb_geo_clue2_location_altitude, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_location_description(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_String_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ const char *v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "Description", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Description", proxy, &error_info, NULL);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "s", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "Description", proxy, &error_info, NULL);
+ return;
+ }
+ cb(user_data, pending, "Description", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_location_description_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "Description", cb_geo_clue2_location_description, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+void
+geo_clue2_location_log_domain_set(int id)
+{
+ _log_main = id;
+}
+
+void
+geo_clue2_location_proxy_unref(Eldbus_Proxy *proxy)
+{
+ Eldbus_Object *obj = eldbus_proxy_object_get(proxy);
+ eldbus_proxy_unref(proxy);
+ eldbus_object_unref(obj);
+}
+
+Eldbus_Proxy *
+geo_clue2_location_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path)
+{
+ Eldbus_Object *obj;
+ Eldbus_Proxy *proxy;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
+ if (!path) path = "/";
+ obj = eldbus_object_get(conn, bus, path);
+ proxy = eldbus_proxy_get(obj, "org.freedesktop.GeoClue2.Location");
+ return proxy;
+}
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_location.h b/src/lib/elocation/gen/eldbus_geo_clue2_location.h
new file mode 100644
index 0000000000..38793a158b
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_location.h
@@ -0,0 +1,18 @@
+#ifndef ELDBUS_GEO_CLUE2_LOCATION_H
+#define ELDBUS_GEO_CLUE2_LOCATION_H
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Eldbus.h>
+#include "eldbus_utils.h"
+
+Eldbus_Proxy *geo_clue2_location_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path);
+void geo_clue2_location_proxy_unref(Eldbus_Proxy *proxy);
+void geo_clue2_location_log_domain_set(int id);
+Eldbus_Pending *geo_clue2_location_latitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_location_longitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_location_accuracy_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_location_altitude_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Double_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_location_description_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_String_Get_Cb cb, const void *data);
+
+#endif \ No newline at end of file
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_manager.c b/src/lib/elocation/gen/eldbus_geo_clue2_manager.c
new file mode 100644
index 0000000000..1fea88947d
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_manager.c
@@ -0,0 +1,203 @@
+#include "eldbus_geo_clue2_manager.h"
+
+static int _log_main = -1;
+#undef ERR
+#define ERR(...) EINA_LOG_DOM_ERR(_log_main, __VA_ARGS__);
+
+static void
+cb_geo_clue2_manager_get_client(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Geo_Clue2_Manager_Get_Client_Cb cb = data;
+ const char *error, *error_msg;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ const char *client = NULL;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(proxy, user_data, pending, &error_info, client);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "o", &client))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ ERR("Error: Getting arguments from message.");
+ cb(proxy, user_data, pending, &error_info, client);
+ return;
+ }
+ cb(proxy, user_data, pending, NULL, client);
+ return;
+}
+
+Eldbus_Pending *
+geo_clue2_manager_get_client_call(Eldbus_Proxy *proxy, Geo_Clue2_Manager_Get_Client_Cb cb, const void *data)
+{
+ Eldbus_Message *msg;
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ msg = eldbus_proxy_method_call_new(proxy, "GetClient");
+ if (!eldbus_message_arguments_append(msg, ""))
+ {
+ ERR("Error: Filling message.");
+ return NULL;
+ }
+ p = eldbus_proxy_send(proxy, msg, cb_geo_clue2_manager_get_client, cb, -1);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_manager_add_agent(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ Geo_Clue2_Manager_Add_Agent_Cb cb = data;
+ const char *error, *error_msg;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, ""))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ ERR("Error: Getting arguments from message.");
+ cb(proxy, user_data, pending, &error_info);
+ return;
+ }
+ cb(proxy, user_data, pending, NULL);
+ return;
+}
+
+Eldbus_Pending *
+geo_clue2_manager_add_agent_call(Eldbus_Proxy *proxy, Geo_Clue2_Manager_Add_Agent_Cb cb, const void *data, const char *id)
+{
+ Eldbus_Message *msg;
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ msg = eldbus_proxy_method_call_new(proxy, "AddAgent");
+ if (!eldbus_message_arguments_append(msg, "s", id))
+ {
+ ERR("Error: Filling message.");
+ return NULL;
+ }
+ p = eldbus_proxy_send(proxy, msg, cb_geo_clue2_manager_add_agent, cb, -1);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_manager_in_use(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Bool_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ Eina_Bool v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "InUse", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "InUse", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "b", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "InUse", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "InUse", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_manager_in_use_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Bool_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "InUse", cb_geo_clue2_manager_in_use, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+static void
+cb_geo_clue2_manager_available_accuracy_level(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending)
+{
+ void *user_data = eldbus_pending_data_del(pending, "__user_data");
+ const char *error, *error_msg;
+ Eldbus_Codegen_Property_Uint32_Get_Cb cb = data;
+ Eldbus_Proxy *proxy = eldbus_pending_data_del(pending, "__proxy");
+ Eldbus_Message_Iter *variant;
+ unsigned int v;
+ if (eldbus_message_error_get(msg, &error, &error_msg))
+ {
+ Eldbus_Error_Info error_info = {error, error_msg};
+ cb(user_data, pending, "AvailableAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "v", &variant))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "AvailableAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ if (!eldbus_message_iter_arguments_get(variant, "u", &v))
+ {
+ Eldbus_Error_Info error_info = {"", ""};
+ cb(user_data, pending, "AvailableAccuracyLevel", proxy, &error_info, 0);
+ return;
+ }
+ cb(user_data, pending, "AvailableAccuracyLevel", proxy, NULL, v);
+}
+
+Eldbus_Pending *
+geo_clue2_manager_available_accuracy_level_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data)
+{
+ Eldbus_Pending *p;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(proxy, NULL);
+ p = eldbus_proxy_property_get(proxy, "AvailableAccuracyLevel", cb_geo_clue2_manager_available_accuracy_level, cb);
+ if (data)
+ eldbus_pending_data_set(p, "__user_data", data);
+ eldbus_pending_data_set(p, "__proxy", proxy);
+ return p;
+}
+
+void
+geo_clue2_manager_log_domain_set(int id)
+{
+ _log_main = id;
+}
+
+void
+geo_clue2_manager_proxy_unref(Eldbus_Proxy *proxy)
+{
+ Eldbus_Object *obj = eldbus_proxy_object_get(proxy);
+ eldbus_proxy_unref(proxy);
+ eldbus_object_unref(obj);
+}
+
+Eldbus_Proxy *
+geo_clue2_manager_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path)
+{
+ Eldbus_Object *obj;
+ Eldbus_Proxy *proxy;
+ EINA_SAFETY_ON_NULL_RETURN_VAL(conn, NULL);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(bus, NULL);
+ if (!path) path = "/";
+ obj = eldbus_object_get(conn, bus, path);
+ proxy = eldbus_proxy_get(obj, "org.freedesktop.GeoClue2.Manager");
+ return proxy;
+}
diff --git a/src/lib/elocation/gen/eldbus_geo_clue2_manager.h b/src/lib/elocation/gen/eldbus_geo_clue2_manager.h
new file mode 100644
index 0000000000..b96323a462
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_geo_clue2_manager.h
@@ -0,0 +1,19 @@
+#ifndef ELDBUS_GEO_CLUE2_MANAGER_H
+#define ELDBUS_GEO_CLUE2_MANAGER_H
+
+#include <Eina.h>
+#include <Ecore.h>
+#include <Eldbus.h>
+#include "eldbus_utils.h"
+
+Eldbus_Proxy *geo_clue2_manager_proxy_get(Eldbus_Connection *conn, const char *bus, const char *path);
+void geo_clue2_manager_proxy_unref(Eldbus_Proxy *proxy);
+void geo_clue2_manager_log_domain_set(int id);
+typedef void (*Geo_Clue2_Manager_Get_Client_Cb)(Eldbus_Proxy *proxy, void *data, Eldbus_Pending *pending, Eldbus_Error_Info *error, const char *client);
+Eldbus_Pending *geo_clue2_manager_get_client_call(Eldbus_Proxy *proxy, Geo_Clue2_Manager_Get_Client_Cb cb, const void *data);
+typedef void (*Geo_Clue2_Manager_Add_Agent_Cb)(Eldbus_Proxy *proxy, void *data, Eldbus_Pending *pending, Eldbus_Error_Info *error);
+Eldbus_Pending *geo_clue2_manager_add_agent_call(Eldbus_Proxy *proxy, Geo_Clue2_Manager_Add_Agent_Cb cb, const void *data, const char *id);
+Eldbus_Pending *geo_clue2_manager_in_use_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Bool_Get_Cb cb, const void *data);
+Eldbus_Pending *geo_clue2_manager_available_accuracy_level_propget(Eldbus_Proxy *proxy, Eldbus_Codegen_Property_Uint32_Get_Cb cb, const void *data);
+
+#endif \ No newline at end of file
diff --git a/src/lib/elocation/gen/eldbus_utils.h b/src/lib/elocation/gen/eldbus_utils.h
new file mode 100644
index 0000000000..db4f9ae391
--- /dev/null
+++ b/src/lib/elocation/gen/eldbus_utils.h
@@ -0,0 +1,24 @@
+#ifndef ELDBUS_UTILS_H
+#define ELDBUS_UTILS_H 1
+
+typedef struct _Eldbus_Error_Info
+{
+ const char *error;
+ const char *message;
+} Eldbus_Error_Info;
+
+typedef void (*Eldbus_Codegen_Property_Set_Cb)(void *data, const char *propname, Eldbus_Proxy *proxy, Eldbus_Pending *p, Eldbus_Error_Info *error_info);
+
+typedef void (*Eldbus_Codegen_Property_String_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, const char *value);
+typedef void (*Eldbus_Codegen_Property_Int32_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, int value);
+typedef void (*Eldbus_Codegen_Property_Byte_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, unsigned char value);
+typedef void (*Eldbus_Codegen_Property_Bool_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, Eina_Bool value);
+typedef void (*Eldbus_Codegen_Property_Int16_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, short int value);
+typedef void (*Eldbus_Codegen_Property_Uint16_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, unsigned short int value);
+typedef void (*Eldbus_Codegen_Property_Uint32_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, unsigned int value);
+typedef void (*Eldbus_Codegen_Property_Double_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, double value);
+typedef void (*Eldbus_Codegen_Property_Int64_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, int64_t value);
+typedef void (*Eldbus_Codegen_Property_Uint64_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, uint64_t value);
+typedef void (*Eldbus_Codegen_Property_Complex_Get_Cb)(void *data, Eldbus_Pending *p, const char *propname, Eldbus_Proxy *proxy, Eldbus_Error_Info *error_info, Eina_Value *value);
+
+#endif \ No newline at end of file
diff --git a/src/lib/elocation/gen/org.freedesktop.GeoClue2.xml b/src/lib/elocation/gen/org.freedesktop.GeoClue2.xml
new file mode 100644
index 0000000000..ab14565438
--- /dev/null
+++ b/src/lib/elocation/gen/org.freedesktop.GeoClue2.xml
@@ -0,0 +1,199 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<!--
+ GeoClue 2.0 Interface Specification
+
+ Copyright (C) 2013 Red Hat, Inc.
+-->
+
+<node>
+
+ <!--
+ org.freedesktop.GeoClue2.Manager:
+ @short_description: The GeoClue service manager
+
+ This is the interface you use to talk to main GeoClue2 manager object at
+ path "/org/freedesktop/GeoClue2/Manager". The only thing you do with this
+ interface is to call org.freedesktop.GeoClue2.Manager.GetClient() on it
+ to get your application specific client object.
+ -->
+ <interface name="org.freedesktop.GeoClue2.Manager">
+ <!--
+ InUse:
+
+ Whether service is currently is use by any application.
+ -->
+ <property name="InUse" type="b" access="read"/>
+
+ <!--
+ AvailableAccuracyLevel:
+
+ The level of available accuracy, as
+ <link linkend="GClueAccuracyLevel">GClueAccuracyLevel</link>.
+ -->
+ <property name="AvailableAccuracyLevel" type="u" access="read"/>
+
+ <!--
+ GetClient:
+ @client: The path for newly created client object
+
+ Retrieves a client object which can only be used by the calling
+ application only.
+ -->
+ <method name="GetClient">
+ <arg name="client" type="o" direction="out"/>
+ </method>
+
+ <!--
+ AddAgent:
+ @id: The Desktop ID (excluding .desktop) of the agent
+
+ An API for user authorization agents to register themselves. Each agent
+ is responsible for the user it is running as. Application developers
+ can and should simply ignore this API.
+ -->
+ <method name="AddAgent">
+ <arg name="id" type="s" direction="in"/>
+ </method>
+ </interface>
+
+ <!--
+ org.freedesktop.GeoClue2.Client:
+ @short_description: The Application-specific client API
+
+ This is the interface you use to retrieve location information and receive
+ location update signals from GeoClue service. You get the client object to
+ use this interface on from org.freedesktop.GeoClue2.Manager.GetClient()
+ method.
+ -->
+ <interface name="org.freedesktop.GeoClue2.Client">
+ <!--
+ Location:
+
+ Current location as path to a #org.freedesktop.GeoClue2.Location object.
+ -->
+ <property name="Location" type="o" access="read"/>
+
+ <!--
+ DistanceThreshold:
+
+ Contains the current distance threshold in meters. This value is used
+ by the service when it gets new location info. If the distance moved is
+ below the threshold, it won't emit the LocationUpdated signal.
+ -->
+ <property name="DistanceThreshold" type="u" access="readwrite"/>
+
+ <!--
+ DesktopId:
+
+ The desktop file id (the basename of the desktop file). This property
+ must be set by applications for authorization to work.
+ -->
+ <property name="DesktopId" type="s" access="readwrite"/>
+
+ <!--
+ RequestedAccuracyLevel:
+
+ The level of accuracy requested by client, as
+ <link linkend="GClueAccuracyLevel">GClueAccuracyLevel</link>.
+
+ Please keep in mind that the actual accuracy of location information is
+ dependent on available hardware on your machine, external resources
+ and/or how much accuracy user agrees to be confortable with.
+ -->
+ <property name="RequestedAccuracyLevel" type="u" access="readwrite"/>
+
+ <!--
+ Active:
+
+ If client is active, i-e started successfully using
+ org.freedesktop.GeoClue2.Client.Start() and receiving location updates.
+
+ Please keep in mind that geoclue can at any time stop and start the
+ client on user (agent) request. Applications that are interested in
+ in these changes, should watch for changes in this property.
+ -->
+ <property name="Active" type="b" access="read"/>
+
+ <!--
+ Start:
+
+ Start receiving events about the current location. Applications should
+ hook-up to #org.freedesktop.GeoClue2.Client::LocationUpdated signal
+ before calling this method.
+ -->
+ <method name="Start"/>
+
+ <!--
+ Stop:
+
+ Stop receiving events about the current location.
+ -->
+ <method name="Stop"/>
+
+ <!--
+ LocationUpdated:
+ @old: old location as path to a #org.freedesktop.GeoClue2.Location object
+ @new: new location as path to a #org.freedesktop.GeoClue2.Location object
+
+ The signal is emitted every time the location changes.
+ The client should set the DistanceThreshold property to control how
+ often this signal is emitted.
+ -->
+ <signal name="LocationUpdated">
+ <arg name="old" type="o"/>
+ <arg name="new" type="o"/>
+ </signal>
+ </interface>
+
+ <!--
+ org.freedesktop.GeoClue2.Location:
+ @short_description: The Location interface
+
+ This is the interface you use on location objects.
+ -->
+ <interface name="org.freedesktop.GeoClue2.Location">
+
+ <!--
+ Latitude:
+
+ The latitude of the location, in degrees.
+ -->
+ <property name="Latitude" type="d" access="read"/>
+
+ <!--
+ Longitude:
+
+ The longitude of the location, in degrees.
+ -->
+ <property name="Longitude" type="d" access="read"/>
+
+ <!--
+ Accuracy:
+
+ The accuracy of the location fix, in meters.
+ -->
+ <property name="Accuracy" type="d" access="read"/>
+
+ <!--
+ Altitude:
+
+ The altitude of the location fix, in meters. When unknown, its set to
+ minimum double value, -1.7976931348623157e+308.
+ -->
+ <property name="Altitude" type="d" access="read"/>
+
+ <!--
+ Description:
+
+ A human-readable description of the location, if available.
+
+ WARNING: Applications should not rely on this property since not all
+ sources provide a description. If you really need a description (or
+ more details) about current location, use a reverse-geocoding API, e.g
+ geocode-glib.
+ -->
+ <property name="Description" type="s" access="read"/>
+ </interface>
+</node>