summaryrefslogtreecommitdiffstats
path: root/src/gnssagent.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-03-25 14:10:53 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-03-28 18:06:58 -0500
commit626750d8a730011b3acdc10415c34c2bb59858d4 (patch)
tree356fd63394ce929c68b3c8d3a7e62d9a3d6b5ffa /src/gnssagent.c
parentbafe9f2de204f637e471f71e7722903a0d0e60bb (diff)
downloadofono-626750d8a730011b3acdc10415c34c2bb59858d4.tar.bz2
gnssagent: Unify sending functions
Diffstat (limited to 'src/gnssagent.c')
-rw-r--r--src/gnssagent.c33
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,