[PATCH 06/16] emulator: Add emulator get_properties method

Zhenhua Zhang zhenhua.zhang at intel.com
Thu May 13 03:02:29 PDT 2010


---
 src/emulator.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/src/emulator.c b/src/emulator.c
index bed0f46..f1cb9ef 100644
--- a/src/emulator.c
+++ b/src/emulator.c
@@ -212,7 +212,40 @@ static DBusMessage *emulator_destroy(DBusConnection *conn,
 	return reply;
 }
 
+static DBusMessage *emulator_get_properties(DBusConnection *conn,
+						DBusMessage *msg, void *data)
+{
+	struct emulator *e = data;
+	DBusMessage *reply;
+	DBusMessageIter iter;
+	DBusMessageIter dict;
+	const char *type, *path;
+
+	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);
+
+	type = emulator_type_to_str(e->type);
+
+	ofono_dbus_dict_append(&dict, "TYPE", DBUS_TYPE_STRING, &type);
+
+	path = emulator_build_path(e->oe, e);
+
+	ofono_dbus_dict_append(&dict, "PATH", DBUS_TYPE_STRING, &path);
+
+	dbus_message_iter_close_container(&iter, &dict);
+
+	return reply;
+}
+
 static GDBusMethodTable emulator_methods[] = {
+	{ "GetProperties",	"",	"a{sv}",	emulator_get_properties },
 	{ "Destroy",		"",	"",		emulator_destroy },
 	{ }
 };
-- 
1.6.3.3



More information about the ofono mailing list