summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-09 13:31:56 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-09 13:34:36 -0500
commit7461abbe230fc97553dbd2fda9e14f6f9b92bc15 (patch)
tree2fbe013cf272f2eb3989ba177c8efc24c2517dd9 /src
parent37d44890ab6f35acd6c777abea8e89c4e1249dfa (diff)
downloadofono-7461abbe230fc97553dbd2fda9e14f6f9b92bc15.tar.bz2
modem: Break out append_modem_properties
Diffstat (limited to 'src')
-rw-r--r--src/modem.c56
-rw-r--r--src/ofono.h2
2 files changed, 32 insertions, 26 deletions
diff --git a/src/modem.c b/src/modem.c
index 8b26bc30..7266c741 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -506,33 +506,19 @@ ofono_bool_t ofono_modem_get_online(struct ofono_modem *modem)
return modem->online;
}
-static DBusMessage *modem_get_properties(DBusConnection *conn,
- DBusMessage *msg, void *data)
+void __ofono_modem_append_properties(struct ofono_modem *modem,
+ DBusMessageIter *dict)
{
- struct ofono_modem *modem = data;
- DBusMessage *reply;
- DBusMessageIter iter;
- DBusMessageIter dict;
char **interfaces;
char **features;
int i;
GSList *l;
struct ofono_atom *devinfo_atom;
- reply = dbus_message_new_method_return(msg);
- if (!reply)
- return NULL;
-
- dbus_message_iter_init_append(reply, &iter);
-
- dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
- OFONO_PROPERTIES_ARRAY_SIGNATURE,
- &dict);
-
- ofono_dbus_dict_append(&dict, "Online", DBUS_TYPE_BOOLEAN,
+ ofono_dbus_dict_append(dict, "Online", DBUS_TYPE_BOOLEAN,
&modem->online);
- ofono_dbus_dict_append(&dict, "Powered", DBUS_TYPE_BOOLEAN,
+ ofono_dbus_dict_append(dict, "Powered", DBUS_TYPE_BOOLEAN,
&modem->powered);
devinfo_atom = __ofono_modem_find_atom(modem, OFONO_ATOM_TYPE_DEVINFO);
@@ -544,21 +530,21 @@ static DBusMessage *modem_get_properties(DBusConnection *conn,
info = __ofono_atom_get_data(devinfo_atom);
if (info->manufacturer)
- ofono_dbus_dict_append(&dict, "Manufacturer",
+ ofono_dbus_dict_append(dict, "Manufacturer",
DBUS_TYPE_STRING,
&info->manufacturer);
if (info->model)
- ofono_dbus_dict_append(&dict, "Model", DBUS_TYPE_STRING,
+ ofono_dbus_dict_append(dict, "Model", DBUS_TYPE_STRING,
&info->model);
if (info->revision)
- ofono_dbus_dict_append(&dict, "Revision",
+ ofono_dbus_dict_append(dict, "Revision",
DBUS_TYPE_STRING,
&info->revision);
if (info->serial)
- ofono_dbus_dict_append(&dict, "Serial",
+ ofono_dbus_dict_append(dict, "Serial",
DBUS_TYPE_STRING,
&info->serial);
}
@@ -566,22 +552,40 @@ static DBusMessage *modem_get_properties(DBusConnection *conn,
interfaces = g_new0(char *, g_slist_length(modem->interface_list) + 1);
for (i = 0, l = modem->interface_list; l; l = l->next, i++)
interfaces[i] = l->data;
- ofono_dbus_dict_append_array(&dict, "Interfaces", DBUS_TYPE_STRING,
+ ofono_dbus_dict_append_array(dict, "Interfaces", DBUS_TYPE_STRING,
&interfaces);
g_free(interfaces);
-
features = g_new0(char *, g_slist_length(modem->feature_list) + 1);
for (i = 0, l = modem->feature_list; l; l = l->next, i++)
features[i] = l->data;
- ofono_dbus_dict_append_array(&dict, "Features", DBUS_TYPE_STRING,
+ ofono_dbus_dict_append_array(dict, "Features", DBUS_TYPE_STRING,
&features);
g_free(features);
if (modem->name)
- ofono_dbus_dict_append(&dict, "Name", DBUS_TYPE_STRING,
+ ofono_dbus_dict_append(dict, "Name", DBUS_TYPE_STRING,
&modem->name);
+}
+static DBusMessage *modem_get_properties(DBusConnection *conn,
+ DBusMessage *msg, void *data)
+{
+ struct ofono_modem *modem = data;
+ DBusMessage *reply;
+ DBusMessageIter iter;
+ DBusMessageIter dict;
+
+ reply = dbus_message_new_method_return(msg);
+ if (!reply)
+ return NULL;
+
+ dbus_message_iter_init_append(reply, &iter);
+
+ dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY,
+ OFONO_PROPERTIES_ARRAY_SIGNATURE,
+ &dict);
+ __ofono_modem_append_properties(modem, &dict);
dbus_message_iter_close_container(&iter, &dict);
return reply;
diff --git a/src/ofono.h b/src/ofono.h
index 7e814c9a..16b4aae6 100644
--- a/src/ofono.h
+++ b/src/ofono.h
@@ -93,6 +93,8 @@ void __ofono_plugin_cleanup(void);
unsigned int __ofono_modem_callid_next(struct ofono_modem *modem);
void __ofono_modem_callid_hold(struct ofono_modem *modem, int id);
void __ofono_modem_callid_release(struct ofono_modem *modem, int id);
+void __ofono_modem_append_properties(struct ofono_modem *modem,
+ DBusMessageIter *dict);
struct ofono_atom;