diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-03-25 14:10:53 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-03-28 18:06:58 -0500 |
commit | 626750d8a730011b3acdc10415c34c2bb59858d4 (patch) | |
tree | 356fd63394ce929c68b3c8d3a7e62d9a3d6b5ffa /src/gnssagent.c | |
parent | bafe9f2de204f637e471f71e7722903a0d0e60bb (diff) | |
download | ofono-626750d8a730011b3acdc10415c34c2bb59858d4.tar.bz2 |
gnssagent: Unify sending functions
Diffstat (limited to 'src/gnssagent.c')
-rw-r--r-- | src/gnssagent.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/src/gnssagent.c b/src/gnssagent.c index 80ea4185..96c283b2 100644 --- a/src/gnssagent.c +++ b/src/gnssagent.c @@ -43,46 +43,41 @@ struct gnss_agent { void *removed_data; }; -void gnss_agent_receive_request(struct gnss_agent *agent, const char *xml) +static void gnss_agent_send_noreply(struct gnss_agent *agent, + const char *method, int type, ...) { DBusConnection *conn = ofono_dbus_get_connection(); DBusMessage *message; + va_list args; message = dbus_message_new_method_call(agent->bus, agent->path, OFONO_GNSS_POSR_AGENT_INTERFACE, - "Request"); + method); - dbus_message_append_args(message, DBUS_TYPE_STRING, &xml, - DBUS_TYPE_INVALID); + va_start(args, type); + dbus_message_append_args_valist(message, type, args); + va_end(args); dbus_message_set_no_reply(message, TRUE); g_dbus_send_message(conn, message); } -static void gnss_agent_send_noreply(struct gnss_agent *agent, - const char *method) +static inline void gnss_agent_send_release(struct gnss_agent *agent) { - DBusConnection *conn = ofono_dbus_get_connection(); - DBusMessage *message; - - message = dbus_message_new_method_call(agent->bus, agent->path, - OFONO_GNSS_POSR_AGENT_INTERFACE, - method); - - dbus_message_set_no_reply(message, TRUE); - - g_dbus_send_message(conn, message); + gnss_agent_send_noreply(agent, "Release", DBUS_TYPE_INVALID); } -static inline void gnss_agent_send_release(struct gnss_agent *agent) +void gnss_agent_receive_request(struct gnss_agent *agent, const char *xml) { - gnss_agent_send_noreply(agent, "Release"); + gnss_agent_send_noreply(agent, "Request", DBUS_TYPE_STRING, &xml, + DBUS_TYPE_INVALID); } void gnss_agent_receive_reset(struct gnss_agent *agent) { - gnss_agent_send_noreply(agent, "ResetAssistanceData"); + gnss_agent_send_noreply(agent, "ResetAssistanceData", + DBUS_TYPE_INVALID); } ofono_bool_t gnss_agent_matches(struct gnss_agent *agent, |