All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH_v2 0/2] Add CDMA features to load/save credentials
@ 2011-08-11 16:02 Guillaume Zajac
  2011-08-11 16:02 ` [PATCH_v2 1/2] modem: Change to online state when serial is set Guillaume Zajac
  2011-08-11 16:02 ` [PATCH_v2 2/2] cdma-connman: Add feature to load/save credentials Guillaume Zajac
  0 siblings, 2 replies; 6+ messages in thread
From: Guillaume Zajac @ 2011-08-11 16:02 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 573 bytes --]

Change log from v1 is:
	- pass to post_sim state when serial is received
	- cdma-connman atom can load settings as mode serial is received before
	  its creation.
	- create new devinfo API to pass serial to cdma-connman atom

Guillaume Zajac (2):
  modem: Change to online state when serial is set
  cdma-connman: Add feature to load/save credentials

 include/devinfo.h  |    2 +
 src/cdma-connman.c |   67 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/modem.c        |   23 +++++++++++++++--
 3 files changed, 89 insertions(+), 3 deletions(-)


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH_v2 1/2] modem: Change to online state when serial is set
  2011-08-11 16:02 [PATCH_v2 0/2] Add CDMA features to load/save credentials Guillaume Zajac
@ 2011-08-11 16:02 ` Guillaume Zajac
  2011-08-12  6:34   ` Denis Kenzior
  2011-08-11 16:02 ` [PATCH_v2 2/2] cdma-connman: Add feature to load/save credentials Guillaume Zajac
  1 sibling, 1 reply; 6+ messages in thread
From: Guillaume Zajac @ 2011-08-11 16:02 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3001 bytes --]

For modems with no sim atom, we wait for serial reply to proceed post_sim.
Add API to get serial devinfo like it is done for imsi.
---
 include/devinfo.h |    2 ++
 src/modem.c       |   23 ++++++++++++++++++++---
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/include/devinfo.h b/include/devinfo.h
index 5df1316..db1db67 100644
--- a/include/devinfo.h
+++ b/include/devinfo.h
@@ -61,6 +61,8 @@ void ofono_devinfo_remove(struct ofono_devinfo *info);
 void ofono_devinfo_set_data(struct ofono_devinfo *info, void *data);
 void *ofono_devinfo_get_data(struct ofono_devinfo *info);
 
+const char *ofono_devinfo_get_serial(struct ofono_devinfo *info);
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/modem.c b/src/modem.c
index 14c7a20..aa6b1c6 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -72,6 +72,7 @@ struct ofono_modem {
 	ofono_bool_t		powered_pending;
 	ofono_bool_t		get_online;
 	ofono_bool_t		lockdown;
+	ofono_bool_t		pending_post_sim;
 	char			*lock_owner;
 	guint			lock_watch;
 	guint			timeout;
@@ -1093,9 +1094,14 @@ static DBusMessage *modem_set_property(DBusConnection *conn,
 		if (powered) {
 			modem_change_state(modem, MODEM_STATE_PRE_SIM);
 
-			/* Force SIM Ready for devies with no sim atom */
+			/*
+			 * Force SIM Ready for devices with no sim atom
+			 * Pratically, it concerns CDMA modems. We need to
+			 * check if their serial is set before proceeding
+			 * post_sim.
+			 */
 			if (modem_has_sim(modem) == FALSE)
-				sim_state_watch(OFONO_SIM_STATE_READY, modem);
+				modem->pending_post_sim = TRUE;
 		} else {
 			set_online(modem, FALSE);
 			modem_change_state(modem, MODEM_STATE_POWER_OFF);
@@ -1175,7 +1181,7 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
 
 		/* Force SIM Ready for devices with no sim atom */
 		if (modem_has_sim(modem) == FALSE)
-			sim_state_watch(OFONO_SIM_STATE_READY, modem);
+			modem->pending_post_sim = TRUE;
 	} else {
 		set_online(modem, FALSE);
 
@@ -1315,18 +1321,29 @@ void ofono_modem_remove_interface(struct ofono_modem *modem,
 	modem->interface_update = g_idle_add(trigger_interface_update, modem);
 }
 
+const char *ofono_devinfo_get_serial(struct ofono_devinfo *info)
+{
+	return info->serial;
+}
+
 static void query_serial_cb(const struct ofono_error *error,
 				const char *serial, void *user)
 {
 	struct ofono_devinfo *info = user;
 	DBusConnection *conn = ofono_dbus_get_connection();
 	const char *path = __ofono_atom_get_path(info->atom);
+	struct ofono_modem *modem = __ofono_atom_get_modem(info->atom);
 
 	if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
 		return;
 
 	info->serial = g_strdup(serial);
 
+	if (modem->pending_post_sim == TRUE) {
+		modem->pending_post_sim = FALSE;
+		sim_state_watch(OFONO_SIM_STATE_READY, modem);
+	}
+
 	ofono_dbus_signal_property_changed(conn, path,
 						OFONO_MODEM_INTERFACE,
 						"Serial", DBUS_TYPE_STRING,
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH_v2 2/2] cdma-connman: Add feature to load/save credentials
  2011-08-11 16:02 [PATCH_v2 0/2] Add CDMA features to load/save credentials Guillaume Zajac
  2011-08-11 16:02 ` [PATCH_v2 1/2] modem: Change to online state when serial is set Guillaume Zajac
@ 2011-08-11 16:02 ` Guillaume Zajac
  1 sibling, 0 replies; 6+ messages in thread
From: Guillaume Zajac @ 2011-08-11 16:02 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3675 bytes --]

---
 src/cdma-connman.c |   67 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)

diff --git a/src/cdma-connman.c b/src/cdma-connman.c
index 0c9013b..0039eb0 100644
--- a/src/cdma-connman.c
+++ b/src/cdma-connman.c
@@ -37,6 +37,10 @@
 
 #include "ofono.h"
 #include "common.h"
+#include "storage.h"
+
+#define CREDENTIALS_STORE "cdma"
+#define CREDENTIALS_GROUP "Credentials"
 
 static GSList *g_drivers;
 
@@ -59,6 +63,8 @@ struct ofono_cdma_connman {
 	struct ofono_atom *atom;
 	char username[OFONO_CDMA_CONNMAN_MAX_USERNAME_LENGTH + 1];
 	char password[OFONO_CDMA_CONNMAN_MAX_PASSWORD_LENGTH + 1];
+	GKeyFile *credentials;
+	char *serial;
 };
 
 static void cdma_connman_settings_free(struct cdma_connman_settings *settings)
@@ -387,6 +393,12 @@ static DBusMessage *cdma_connman_set_username(struct ofono_cdma_connman *cm,
 
 	strcpy(cm->username, username);
 
+	if (cm->credentials) {
+		g_key_file_set_string(cm->credentials, CREDENTIALS_GROUP,
+					"Username", username);
+		storage_sync(cm->serial, CREDENTIALS_STORE, cm->credentials);
+	}
+
 	g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID);
 
 	path = __ofono_atom_get_path(cm->atom);
@@ -411,6 +423,12 @@ static DBusMessage *cdma_connman_set_password(struct ofono_cdma_connman *cm,
 
 	strcpy(cm->password, password);
 
+	if (cm->credentials) {
+		g_key_file_set_string(cm->credentials, CREDENTIALS_GROUP,
+					"Password", password);
+		storage_sync(cm->serial, CREDENTIALS_STORE, cm->credentials);
+	}
+
 	g_dbus_send_reply(conn, msg, DBUS_TYPE_INVALID);
 
 	path = __ofono_atom_get_path(cm->atom);
@@ -552,6 +570,8 @@ static void cdma_connman_remove(struct ofono_atom *atom)
 	if (cm->driver && cm->driver->remove)
 		cm->driver->remove(cm);
 
+	g_free(cm->serial);
+
 	g_free(cm);
 }
 
@@ -593,11 +613,48 @@ struct ofono_cdma_connman *ofono_cdma_connman_create(
 	return cm;
 }
 
+static void load_credentials(struct ofono_cdma_connman *cm, const char *serial)
+{
+	char *username = NULL;
+	char *password = NULL;
+
+	DBG("Serial %s", serial);
+
+	cm->credentials = storage_open(serial, CREDENTIALS_STORE);
+	if (cm->credentials == NULL)
+		return;
+
+	cm->serial = g_strdup(serial);
+
+	username = g_key_file_get_string(cm->credentials,
+						CREDENTIALS_GROUP,
+						"Username", NULL);
+	if (username == NULL)
+		goto error;
+
+	password = g_key_file_get_string(cm->credentials,
+						CREDENTIALS_GROUP,
+						"Password", NULL);
+	if (password == NULL)
+		goto error;
+
+	DBG("Usr %s Pwd %s", username, password);
+	strcpy(cm->username, username);
+	strcpy(cm->password, password);
+
+	return;
+
+error:
+	g_free(username);
+	g_free(password);
+}
+
 void ofono_cdma_connman_register(struct ofono_cdma_connman *cm)
 {
 	DBusConnection *conn = ofono_dbus_get_connection();
 	struct ofono_modem *modem = __ofono_atom_get_modem(cm->atom);
 	const char *path = __ofono_atom_get_path(cm->atom);
+	struct ofono_atom *devinfo = NULL;
 
 	DBG("");
 
@@ -613,6 +670,16 @@ void ofono_cdma_connman_register(struct ofono_cdma_connman *cm)
 	ofono_modem_add_interface(modem,
 				OFONO_CDMA_CONNECTION_MANAGER_INTERFACE);
 
+	devinfo = __ofono_modem_find_atom(modem, OFONO_ATOM_TYPE_DEVINFO);
+
+	if (devinfo != NULL) {
+		const char *serial;
+		struct ofono_devinfo *info = __ofono_atom_get_data(devinfo);
+
+		serial = ofono_devinfo_get_serial(info);
+		load_credentials(cm, serial);
+	}
+
 	/* TODO: add watch to support CDMA Network Registration atom */
 
 	__ofono_atom_register(cm->atom, cdma_connman_unregister);
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH_v2 1/2] modem: Change to online state when serial is set
  2011-08-11 16:02 ` [PATCH_v2 1/2] modem: Change to online state when serial is set Guillaume Zajac
@ 2011-08-12  6:34   ` Denis Kenzior
  2011-08-22  8:20     ` Guillaume Zajac
  2011-08-22  8:47     ` Guillaume Zajac
  0 siblings, 2 replies; 6+ messages in thread
From: Denis Kenzior @ 2011-08-12  6:34 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3417 bytes --]

Hi Guillaume,

On 08/11/2011 11:02 AM, Guillaume Zajac wrote:
> For modems with no sim atom, we wait for serial reply to proceed post_sim.
> Add API to get serial devinfo like it is done for imsi.
> ---
>  include/devinfo.h |    2 ++
>  src/modem.c       |   23 ++++++++++++++++++++---
>  2 files changed, 22 insertions(+), 3 deletions(-)
> 
> diff --git a/include/devinfo.h b/include/devinfo.h
> index 5df1316..db1db67 100644
> --- a/include/devinfo.h
> +++ b/include/devinfo.h
> @@ -61,6 +61,8 @@ void ofono_devinfo_remove(struct ofono_devinfo *info);
>  void ofono_devinfo_set_data(struct ofono_devinfo *info, void *data);
>  void *ofono_devinfo_get_data(struct ofono_devinfo *info);
>  
> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info);
> +
>  #ifdef __cplusplus
>  }
>  #endif
> diff --git a/src/modem.c b/src/modem.c
> index 14c7a20..aa6b1c6 100644
> --- a/src/modem.c
> +++ b/src/modem.c
> @@ -72,6 +72,7 @@ struct ofono_modem {
>  	ofono_bool_t		powered_pending;
>  	ofono_bool_t		get_online;
>  	ofono_bool_t		lockdown;
> +	ofono_bool_t		pending_post_sim;
>  	char			*lock_owner;
>  	guint			lock_watch;
>  	guint			timeout;
> @@ -1093,9 +1094,14 @@ static DBusMessage *modem_set_property(DBusConnection *conn,
>  		if (powered) {
>  			modem_change_state(modem, MODEM_STATE_PRE_SIM);
>  
> -			/* Force SIM Ready for devies with no sim atom */
> +			/*
> +			 * Force SIM Ready for devices with no sim atom
> +			 * Pratically, it concerns CDMA modems. We need to
> +			 * check if their serial is set before proceeding
> +			 * post_sim.
> +			 */

This comment is not true, this behavior is mostly for HFP_HF devices,
not CDMA devices, and these don't even have a devinfo atom.  So you are
breaking these now.

>  			if (modem_has_sim(modem) == FALSE)
> -				sim_state_watch(OFONO_SIM_STATE_READY, modem);
> +				modem->pending_post_sim = TRUE;
>  		} else {
>  			set_online(modem, FALSE);
>  			modem_change_state(modem, MODEM_STATE_POWER_OFF);
> @@ -1175,7 +1181,7 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
>  
>  		/* Force SIM Ready for devices with no sim atom */
>  		if (modem_has_sim(modem) == FALSE)
> -			sim_state_watch(OFONO_SIM_STATE_READY, modem);
> +			modem->pending_post_sim = TRUE;
>  	} else {
>  		set_online(modem, FALSE);
>  
> @@ -1315,18 +1321,29 @@ void ofono_modem_remove_interface(struct ofono_modem *modem,
>  	modem->interface_update = g_idle_add(trigger_interface_update, modem);
>  }
>  
> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info)
> +{
> +	return info->serial;
> +}
> +
>  static void query_serial_cb(const struct ofono_error *error,
>  				const char *serial, void *user)
>  {
>  	struct ofono_devinfo *info = user;
>  	DBusConnection *conn = ofono_dbus_get_connection();
>  	const char *path = __ofono_atom_get_path(info->atom);
> +	struct ofono_modem *modem = __ofono_atom_get_modem(info->atom);
>  
>  	if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
>  		return;
>  
>  	info->serial = g_strdup(serial);
>  
> +	if (modem->pending_post_sim == TRUE) {
> +		modem->pending_post_sim = FALSE;
> +		sim_state_watch(OFONO_SIM_STATE_READY, modem);
> +	}
> +
>  	ofono_dbus_signal_property_changed(conn, path,
>  						OFONO_MODEM_INTERFACE,
>  						"Serial", DBUS_TYPE_STRING,

Regards,
-Denis

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH_v2 1/2] modem: Change to online state when serial is set
  2011-08-12  6:34   ` Denis Kenzior
@ 2011-08-22  8:20     ` Guillaume Zajac
  2011-08-22  8:47     ` Guillaume Zajac
  1 sibling, 0 replies; 6+ messages in thread
From: Guillaume Zajac @ 2011-08-22  8:20 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3662 bytes --]

Hi Denis,

On 12/08/2011 08:34, Denis Kenzior wrote:
> Hi Guillaume,
>
> On 08/11/2011 11:02 AM, Guillaume Zajac wrote:
>> For modems with no sim atom, we wait for serial reply to proceed post_sim.
>> Add API to get serial devinfo like it is done for imsi.
>> ---
>>   include/devinfo.h |    2 ++
>>   src/modem.c       |   23 ++++++++++++++++++++---
>>   2 files changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/devinfo.h b/include/devinfo.h
>> index 5df1316..db1db67 100644
>> --- a/include/devinfo.h
>> +++ b/include/devinfo.h
>> @@ -61,6 +61,8 @@ void ofono_devinfo_remove(struct ofono_devinfo *info);
>>   void ofono_devinfo_set_data(struct ofono_devinfo *info, void *data);
>>   void *ofono_devinfo_get_data(struct ofono_devinfo *info);
>>
>> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info);
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>> diff --git a/src/modem.c b/src/modem.c
>> index 14c7a20..aa6b1c6 100644
>> --- a/src/modem.c
>> +++ b/src/modem.c
>> @@ -72,6 +72,7 @@ struct ofono_modem {
>>   	ofono_bool_t		powered_pending;
>>   	ofono_bool_t		get_online;
>>   	ofono_bool_t		lockdown;
>> +	ofono_bool_t		pending_post_sim;
>>   	char			*lock_owner;
>>   	guint			lock_watch;
>>   	guint			timeout;
>> @@ -1093,9 +1094,14 @@ static DBusMessage *modem_set_property(DBusConnection *conn,
>>   		if (powered) {
>>   			modem_change_state(modem, MODEM_STATE_PRE_SIM);
>>
>> -			/* Force SIM Ready for devies with no sim atom */
>> +			/*
>> +			 * Force SIM Ready for devices with no sim atom
>> +			 * Pratically, it concerns CDMA modems. We need to
>> +			 * check if their serial is set before proceeding
>> +			 * post_sim.
>> +			 */
> This comment is not true, this behavior is mostly for HFP_HF devices,
> not CDMA devices, and these don't even have a devinfo atom.  So you are
> breaking these now.

I didn't thought about HFP_HF devices, I will fix this :)

>>   			if (modem_has_sim(modem) == FALSE)
>> -				sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +				modem->pending_post_sim = TRUE;
>>   		} else {
>>   			set_online(modem, FALSE);
>>   			modem_change_state(modem, MODEM_STATE_POWER_OFF);
>> @@ -1175,7 +1181,7 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
>>
>>   		/* Force SIM Ready for devices with no sim atom */
>>   		if (modem_has_sim(modem) == FALSE)
>> -			sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +			modem->pending_post_sim = TRUE;
>>   	} else {
>>   		set_online(modem, FALSE);
>>
>> @@ -1315,18 +1321,29 @@ void ofono_modem_remove_interface(struct ofono_modem *modem,
>>   	modem->interface_update = g_idle_add(trigger_interface_update, modem);
>>   }
>>
>> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info)
>> +{
>> +	return info->serial;
>> +}
>> +
>>   static void query_serial_cb(const struct ofono_error *error,
>>   				const char *serial, void *user)
>>   {
>>   	struct ofono_devinfo *info = user;
>>   	DBusConnection *conn = ofono_dbus_get_connection();
>>   	const char *path = __ofono_atom_get_path(info->atom);
>> +	struct ofono_modem *modem = __ofono_atom_get_modem(info->atom);
>>
>>   	if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
>>   		return;
>>
>>   	info->serial = g_strdup(serial);
>>
>> +	if (modem->pending_post_sim == TRUE) {
>> +		modem->pending_post_sim = FALSE;
>> +		sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +	}
>> +
>>   	ofono_dbus_signal_property_changed(conn, path,
>>   						OFONO_MODEM_INTERFACE,
>>   						"Serial", DBUS_TYPE_STRING,

Kind regards,
Guillaume


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH_v2 1/2] modem: Change to online state when serial is set
  2011-08-12  6:34   ` Denis Kenzior
  2011-08-22  8:20     ` Guillaume Zajac
@ 2011-08-22  8:47     ` Guillaume Zajac
  1 sibling, 0 replies; 6+ messages in thread
From: Guillaume Zajac @ 2011-08-22  8:47 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3928 bytes --]

Hi again Denis,

On 12/08/2011 08:34, Denis Kenzior wrote:
> Hi Guillaume,
>
> On 08/11/2011 11:02 AM, Guillaume Zajac wrote:
>> For modems with no sim atom, we wait for serial reply to proceed post_sim.
>> Add API to get serial devinfo like it is done for imsi.
>> ---
>>   include/devinfo.h |    2 ++
>>   src/modem.c       |   23 ++++++++++++++++++++---
>>   2 files changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git a/include/devinfo.h b/include/devinfo.h
>> index 5df1316..db1db67 100644
>> --- a/include/devinfo.h
>> +++ b/include/devinfo.h
>> @@ -61,6 +61,8 @@ void ofono_devinfo_remove(struct ofono_devinfo *info);
>>   void ofono_devinfo_set_data(struct ofono_devinfo *info, void *data);
>>   void *ofono_devinfo_get_data(struct ofono_devinfo *info);
>>
>> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info);
>> +
>>   #ifdef __cplusplus
>>   }
>>   #endif
>> diff --git a/src/modem.c b/src/modem.c
>> index 14c7a20..aa6b1c6 100644
>> --- a/src/modem.c
>> +++ b/src/modem.c
>> @@ -72,6 +72,7 @@ struct ofono_modem {
>>   	ofono_bool_t		powered_pending;
>>   	ofono_bool_t		get_online;
>>   	ofono_bool_t		lockdown;
>> +	ofono_bool_t		pending_post_sim;
>>   	char			*lock_owner;
>>   	guint			lock_watch;
>>   	guint			timeout;
>> @@ -1093,9 +1094,14 @@ static DBusMessage *modem_set_property(DBusConnection *conn,
>>   		if (powered) {
>>   			modem_change_state(modem, MODEM_STATE_PRE_SIM);
>>
>> -			/* Force SIM Ready for devies with no sim atom */
>> +			/*
>> +			 * Force SIM Ready for devices with no sim atom
>> +			 * Pratically, it concerns CDMA modems. We need to
>> +			 * check if their serial is set before proceeding
>> +			 * post_sim.
>> +			 */
> This comment is not true, this behavior is mostly for HFP_HF devices,
> not CDMA devices, and these don't even have a devinfo atom.  So you are
> breaking these now.
>

I have just seen on ConnMan that Marcel would like to have a cdma SIM 
atom into oFono core.
Previously, I have heard that SIM atom for cdma modem was not appropriate:
So should I give up this implementation and wait for the cdma SIM atom 
implementation to manage
credentials like it is done for GSM modem?


>>   			if (modem_has_sim(modem) == FALSE)
>> -				sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +				modem->pending_post_sim = TRUE;
>>   		} else {
>>   			set_online(modem, FALSE);
>>   			modem_change_state(modem, MODEM_STATE_POWER_OFF);
>> @@ -1175,7 +1181,7 @@ void ofono_modem_set_powered(struct ofono_modem *modem, ofono_bool_t powered)
>>
>>   		/* Force SIM Ready for devices with no sim atom */
>>   		if (modem_has_sim(modem) == FALSE)
>> -			sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +			modem->pending_post_sim = TRUE;
>>   	} else {
>>   		set_online(modem, FALSE);
>>
>> @@ -1315,18 +1321,29 @@ void ofono_modem_remove_interface(struct ofono_modem *modem,
>>   	modem->interface_update = g_idle_add(trigger_interface_update, modem);
>>   }
>>
>> +const char *ofono_devinfo_get_serial(struct ofono_devinfo *info)
>> +{
>> +	return info->serial;
>> +}
>> +
>>   static void query_serial_cb(const struct ofono_error *error,
>>   				const char *serial, void *user)
>>   {
>>   	struct ofono_devinfo *info = user;
>>   	DBusConnection *conn = ofono_dbus_get_connection();
>>   	const char *path = __ofono_atom_get_path(info->atom);
>> +	struct ofono_modem *modem = __ofono_atom_get_modem(info->atom);
>>
>>   	if (error->type != OFONO_ERROR_TYPE_NO_ERROR)
>>   		return;
>>
>>   	info->serial = g_strdup(serial);
>>
>> +	if (modem->pending_post_sim == TRUE) {
>> +		modem->pending_post_sim = FALSE;
>> +		sim_state_watch(OFONO_SIM_STATE_READY, modem);
>> +	}
>> +
>>   	ofono_dbus_signal_property_changed(conn, path,
>>   						OFONO_MODEM_INTERFACE,
>>   						"Serial", DBUS_TYPE_STRING,


Kind regards,
Guillaume

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-08-22  8:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-11 16:02 [PATCH_v2 0/2] Add CDMA features to load/save credentials Guillaume Zajac
2011-08-11 16:02 ` [PATCH_v2 1/2] modem: Change to online state when serial is set Guillaume Zajac
2011-08-12  6:34   ` Denis Kenzior
2011-08-22  8:20     ` Guillaume Zajac
2011-08-22  8:47     ` Guillaume Zajac
2011-08-11 16:02 ` [PATCH_v2 2/2] cdma-connman: Add feature to load/save credentials Guillaume Zajac

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.