Hi Andras,

On 02/28/2011 10:28 AM, Andras Domokos wrote:
> ---
>  drivers/atmodem/ssn.c |    4 ++--
>  include/ssn.h         |    7 ++++---
>  src/ofono.h           |    5 +++--
>  src/ssn.c             |   11 ++++++-----
>  4 files changed, 15 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/atmodem/ssn.c b/drivers/atmodem/ssn.c
> index c927bf1..ba8f89a 100644
> --- a/drivers/atmodem/ssn.c
> +++ b/drivers/atmodem/ssn.c
> @@ -56,7 +56,7 @@ static void cssi_notify(GAtResult *result, gpointer 
> user_data)
>       if (!g_at_result_iter_next_number(&iter, &index))
>               index = 0;
>  
> -     ofono_ssn_mo_notify(ssn, code1, index);
> +     ofono_ssn_mo_notify(ssn, 0, code1, index);
>  }
>  
>  static void cssu_notify(GAtResult *result, gpointer user_data)
> @@ -93,7 +93,7 @@ static void cssu_notify(GAtResult *result, gpointer 
> user_data)
>               return;
>  
>  out:
> -     ofono_ssn_mt_notify(ssn, code2, index, &ph);
> +     ofono_ssn_mt_notify(ssn, 0, code2, index, &ph);
>  }
>  
>  static void at_ssn_initialized(gboolean ok, GAtResult *result,
> diff --git a/include/ssn.h b/include/ssn.h
> index c8f3e0b..4f41bae 100644
> --- a/include/ssn.h
> +++ b/include/ssn.h
> @@ -37,9 +37,10 @@ struct ofono_ssn_driver {
>  };
>  
>  /* SSN notifications (CSSI and CSSU).  */
> -void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code, int index);
> -void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code, int index,
> -                             const struct ofono_phone_number *number);
> +void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
> +                             int code1, int index);
> +void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
> +                     int index, const struct ofono_phone_number *number);
>  
>  int ofono_ssn_driver_register(const struct ofono_ssn_driver *d);
>  void ofono_ssn_driver_unregister(const struct ofono_ssn_driver *d);

Please just remove the ssn atom completely and add these functions to
the voicecall atom.  e.g.:

ofono_voicecall_cssi_notify
ofono_voicecall_cssu_notify

or

ofono_voicecall_ssn_mt_notify
ofono_voicecall_ssn_mo_notify

> diff --git a/src/ofono.h b/src/ofono.h
> index 4e298f1..4af6f86 100644
> --- a/src/ofono.h
> +++ b/src/ofono.h
> @@ -346,8 +346,9 @@ int __ofono_sms_sim_download(struct ofono_stk *stk, const 
> struct sms *msg,
>  
>  #include <ofono/ssn.h>
>  
> -typedef void (*ofono_ssn_mo_notify_cb)(int index, void *user);
> -typedef void (*ofono_ssn_mt_notify_cb)(int index,
> +typedef void (*ofono_ssn_mo_notify_cb)(unsigned int id, int code1, int index,
> +                                     void *user);
> +typedef void (*ofono_ssn_mt_notify_cb)(unsigned int id, int code2, int index,
>                                       const struct ofono_phone_number *ph,
>                                       void *user);
>  
> diff --git a/src/ssn.c b/src/ssn.c
> index ee48fba..383114c 100644
> --- a/src/ssn.c
> +++ b/src/ssn.c
> @@ -111,7 +111,8 @@ gboolean __ofono_ssn_mt_watch_remove(struct ofono_ssn 
> *ssn, unsigned int id)
>       return __ofono_watchlist_remove_item(ssn->mt_handler_list, id);
>  }
>  
> -void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int code1, int index)
> +void ofono_ssn_mo_notify(struct ofono_ssn *ssn, unsigned int id,
> +                             int code1, int index)
>  {
>       struct ssn_handler *h;
>       GSList *l;
> @@ -122,12 +123,12 @@ void ofono_ssn_mo_notify(struct ofono_ssn *ssn, int 
> code1, int index)
>               notify = h->item.notify;
>  
>               if (h->code == code1)
> -                     notify(index, h->item.notify_data);
> +                     notify(id, code1, index, h->item.notify_data);
>       }
>  }
>  
> -void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int code2, int index,
> -                             const struct ofono_phone_number *ph)
> +void ofono_ssn_mt_notify(struct ofono_ssn *ssn, unsigned int id, int code2,
> +                             int index, const struct ofono_phone_number *ph)
>  {
>       struct ssn_handler *h;
>       GSList *l;
> @@ -138,7 +139,7 @@ void ofono_ssn_mt_notify(struct ofono_ssn *ssn, int 
> code2, int index,
>               notify = h->item.notify;
>  
>               if (h->code == code2)
> -                     notify(index, ph, h->item.notify_data);
> +                     notify(id, code2, index, ph, h->item.notify_data);
>       }
>  }
>  

Regards,
-Denis
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono

Reply via email to