From 963f34df8fa3ff4b301079dcf86e9acea6b6fe0f Mon Sep 17 00:00:00 2001 From: Heikki Paajanen Date: Mon, 9 Jun 2008 13:37:03 +0300 Subject: [PATCH] Fixed network Status signal signature Fixed network and device tests --- libfreesmartphone/freesmartphone-network.c | 11 ++++------- libfreesmartphone/freesmartphone-network.h | 4 +--- src/dbus_network_object.c | 5 +++-- test/dbus_thread.py | 4 ++-- test/device_unit.py | 2 +- test/network_unit.py | 16 +++++++++++----- test/pyfreesmartphonedevice.pxi | 9 +++------ test/pyfreesmartphonenetwork.pxi | 17 +++++++---------- 8 files changed, 32 insertions(+), 36 deletions(-) diff --git a/libfreesmartphone/freesmartphone-network.c b/libfreesmartphone/freesmartphone-network.c index cfa67b8..5503e27 100644 --- a/libfreesmartphone/freesmartphone-network.c +++ b/libfreesmartphone/freesmartphone-network.c @@ -383,9 +383,7 @@ gboolean fso_gsm_network_get_country_code(FreeSmartphone *fs, */ static void fso_gsm_network_status_handler(DBusGProxy *proxy, - gchar *provider_name, - gchar *status, - gint strength, + GHashTable *status, gpointer data) { g_debug("%s", __func__); @@ -396,7 +394,7 @@ void fso_gsm_network_status_handler(DBusGProxy *proxy, while ( list ) { ReplyData *rd = (ReplyData*)list->data; FSGSMNetworkStatusSignalFunc status_cb = (FSGSMNetworkStatusSignalFunc)rd->cb; - status_cb (provider_name,status,strength,rd->data); + status_cb (status, rd->data); list = g_list_next(list); } } @@ -431,9 +429,8 @@ gboolean fso_gsm_network_status_signal(FreeSmartphone *fs, replydata) ) { dbus_g_proxy_add_signal(proxy, FSO_NETWORK_STATUS_SIGNAL_NAME, - G_TYPE_STRING, - G_TYPE_STRING, - G_TYPE_INT, + dbus_g_type_get_map ("GHashTable", \ + G_TYPE_STRING, G_TYPE_VALUE), G_TYPE_INVALID); dbus_g_proxy_connect_signal (proxy, FSO_NETWORK_STATUS_SIGNAL_NAME, G_CALLBACK(fso_gsm_network_status_handler), diff --git a/libfreesmartphone/freesmartphone-network.h b/libfreesmartphone/freesmartphone-network.h index af265e0..98c8b28 100644 --- a/libfreesmartphone/freesmartphone-network.h +++ b/libfreesmartphone/freesmartphone-network.h @@ -84,9 +84,7 @@ gboolean fso_gsm_network_register(FreeSmartphone *fs, /*****************************************************Signals******************/ -typedef void (*FSGSMNetworkStatusSignalFunc) (gchar *provider_name, - gchar *status, - gint strength, +typedef void (*FSGSMNetworkStatusSignalFunc) (GHashTable *status, gpointer userdata); typedef void (*FSGSMNetworkSubscriberNumbersSignalFunc) (gchar **numbers, diff --git a/src/dbus_network_object.c b/src/dbus_network_object.c index 0231ecb..0d42538 100644 --- a/src/dbus_network_object.c +++ b/src/dbus_network_object.c @@ -60,8 +60,9 @@ dbus_network_object_class_init(DBusNetworkObjectClass *klass) klass->status = g_signal_new("status", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, - 0, NULL, NULL, gsmd_smartphone_marshaller_VOID__STRING_STRING_INT, - G_TYPE_NONE, 3, G_TYPE_STRING,G_TYPE_STRING,G_TYPE_INT); + 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, dbus_g_type_get_map ("GHashTable", + G_TYPE_STRING, G_TYPE_VALUE)); klass->subscriber_numbers = g_signal_new ("subscriber_numbers", diff --git a/test/dbus_thread.py b/test/dbus_thread.py index 03c62cb..1eadf9a 100644 --- a/test/dbus_thread.py +++ b/test/dbus_thread.py @@ -127,8 +127,8 @@ class DBUS(dbus.service.Object): self.ipc.AddSignal(("ContextChanged",id)) #Network - def NetworkStatus(self,provider_name, status,strength): - self.ipc.AddSignal(("NetworkStatus",provider_name, status,strength)) + def NetworkStatus(self, properties): + self.ipc.AddSignal(("NetworkStatus",properties)) def SubscriberNumbers(self,number): self.ipc.AddSignal(("SubscriberNumbers",number)) diff --git a/test/device_unit.py b/test/device_unit.py index 90e96ed..e900f60 100644 --- a/test/device_unit.py +++ b/test/device_unit.py @@ -48,7 +48,7 @@ class DeviceTests(GsmdCommon): ("write", "UC864-E"), ("write", "OK"), ("ensure_error_set", False), - ("ensure_reply", ("Telit","UC864-E","08.01.001","123456789012345")), + ("ensure_reply", {"vendor" : "Telit","model" : "UC864-E","revision" : "08.01.001","imei" : "123456789012345"}), ] self.perform(data) def test_GetInfo_Fail(self): diff --git a/test/network_unit.py b/test/network_unit.py index acd774f..c4dfc19 100644 --- a/test/network_unit.py +++ b/test/network_unit.py @@ -52,8 +52,11 @@ class NetworkTests(GsmdCommon): self.perform(data) self.queryCurrentOperator("Operator") self.signalStrength(20) - data = [ ("ensure_signal",("NetworkStatus","Operator","1",20)), - ("ensure_reply_set",True)] #Ensure that reply is set + data = [ ("ensure_signal",("NetworkStatus", + {"provider" : "Operator", + "registration" : "1", + "strength" : 20})), + ("ensure_reply_set",True)] #Ensure that reply is set self.perform(data) def test_Register_Fail(self): @@ -115,7 +118,10 @@ class NetworkTests(GsmdCommon): self.perform(data) self.queryCurrentOperator(name) self.signalStrength(20) - data = [("ensure_signal",("NetworkStatus",name,str(status),20) )] + data = [("ensure_signal",("NetworkStatus", + {"provider" : name, + "registration" : str(status), + "strength" : 20}))] self.perform(data) @@ -131,7 +137,7 @@ class NetworkTests(GsmdCommon): self.queryCurrentOperator("FI 2G") self.signalStrength(20) data = [ ("ensure_error_set",False), #Ensure we don't have an error reply - ("ensure_reply",("FI 2G","1",20))] + ("ensure_reply",{"provider" : "FI 2G","registration" : "1","strength" : 20})] self.perform(data) #Ensure that values are cached @@ -139,7 +145,7 @@ class NetworkTests(GsmdCommon): self.ipc.Network_GetStatus() self.signalStrength(20) data = [ ("ensure_error_set",False), #Ensure we don't have an error reply - ("ensure_reply",("FI 2G","1",20))] + ("ensure_reply",{"provider" : "FI 2G","registration" : "1","strength" : 20})] self.perform(data) def test_GetStatus_Fail(self): diff --git a/test/pyfreesmartphonedevice.pxi b/test/pyfreesmartphonedevice.pxi index 619f1fa..d924ed6 100644 --- a/test/pyfreesmartphonedevice.pxi +++ b/test/pyfreesmartphonedevice.pxi @@ -10,12 +10,9 @@ cdef extern from "../libfreesmartphone/freesmartphone-device.h": ctypedef void (*FSGSMDeviceGetFeaturesReplyFunc) (GHashTable *features, GError *error, gpointer userdata ) - ctypedef void (*FSGSMDeviceGetInfoReplyFunc) (gchar *vendor, - gchar *model, - gchar *revision, - gchar *imei, - GError *error, - gpointer userdata ) + ctypedef void (*FSGSMDeviceGetInfoReplyFunc) (GHashTable *info, + GError *error, + gpointer userdata ) gboolean fso_gsm_device_get_info(FreeSmartphone *fs, FSGSMDeviceGetInfoReplyFunc cb, gpointer userdata) diff --git a/test/pyfreesmartphonenetwork.pxi b/test/pyfreesmartphonenetwork.pxi index 0c2164d..f40cdf0 100644 --- a/test/pyfreesmartphonenetwork.pxi +++ b/test/pyfreesmartphonenetwork.pxi @@ -4,12 +4,10 @@ cdef extern from "../libfreesmartphone/freesmartphone-network.h": ctypedef void (*FSGSMNetworkReplyFunc) (GError *error, - gpointer userdata ) - ctypedef void (*FSGSMNetworkGetStatusReplyFunc) (gchar *provider_name, - gchar *status, - gint strength, - GError *error, - gpointer userdata) + gpointer userdata ) + ctypedef void (*FSGSMNetworkGetStatusReplyFunc) (GHashTable *status, + GError *error, + gpointer userdata) ctypedef void (*FSGSMNetworkGetSubscriberNumbersReplyFunc) (gchar **numbers, GError *error, gpointer userdata ) @@ -44,10 +42,9 @@ cdef extern from "../libfreesmartphone/freesmartphone-network.h": gboolean fso_gsm_network_register(FreeSmartphone *fs, FSGSMNetworkReplyFunc cb, gpointer userdata) - ctypedef void (*FSGSMNetworkStatusSignalFunc) (gchar *provider_name, - gchar *status, - gint strength, - gpointer userdata) + ctypedef void (*FSGSMNetworkStatusSignalFunc) (GHashTable *status, + gpointer userdata) + ctypedef void (*FSGSMNetworkSubscriberNumbersSignalFunc) (gchar **numbers, gpointer userdata) gboolean fso_gsm_network_subscriber_numbers_signal_remove(FreeSmartphone *fs, -- 2.11.4.GIT