Hi Andrew, On 10/07/2010 09:20 AM, Andrzej Zaborowski wrote: > Update the docs to match the properties in stk.c. > --- > doc/stk-api.txt | 16 ++++++- > src/stk.c | 112 > ++++++++++++++++++++++++++++++++++--------------------- > src/stkagent.c | 41 ++++++++++++-------- > src/stkagent.h | 34 +++++++++------- > 4 files changed, 125 insertions(+), 78 deletions(-)
This patch no longer applies, can you please rebase it? Also, please split up this patch up some more. > > diff --git a/doc/stk-api.txt b/doc/stk-api.txt > index f5b9ebc..c29872a 100644 > --- a/doc/stk-api.txt > +++ b/doc/stk-api.txt > @@ -55,23 +55,33 @@ Signals PropertyChanged(string property, > variant value) > Signal is emitted whenever a property has changed. > The new value is passed as the signal argument. > > -Properties string IdleText > +Properties string IdleModeText This is a bug fix, and should be in a separate patch. > > Contains the text to be used when the home screen is > - idle. This text is set by the SIM and can be changed > + idle. This text is set by the SIM and can change > at any time. Squash this into the patch above. > > + byte IdleModeIcon > + > + Contains the identifier of the icon accompanying > + the idle mode text. > + > array{struct{string, byte}} MainMenu > > Contains the items that make up the main menu. This > is populated by the SIM when it sends the Setup Menu > Proactive Command. The main menu is always available, > - but its contents can be changed at any time. > + but its contents can be changed at any time. Each > + item contains the item label and icon identifier. > > string MainMenuTitle > > Contains the title of the main menu. > > + string MainMenuIcon > + > + Contains the identifier of the icon for the main menu. > + > array{byte} Icons > Rest should be in a separate doc update patch. > Contains the identifiers of all available icons for > diff --git a/src/stk.c b/src/stk.c > index 84a22c9..7aa2ea6 100644 > --- a/src/stk.c > +++ b/src/stk.c > @@ -72,6 +72,7 @@ struct ofono_stk { > guint remove_agent_source; > struct extern_req *extern_req; > char *idle_mode_text; > + struct stk_icon_id idle_mode_icon; Idle Mode Icon and Main Menu Icon support should be in a separate patch. > struct timeval get_inkey_start_ts; > }; > > @@ -256,19 +257,28 @@ void __ofono_cbs_sim_download(struct ofono_stk *stk, > const struct cbs *msg) > } > > static struct stk_menu *stk_menu_create(const char *title, > - const struct stk_text_attribute *title_attr, GSList *items, > + const struct stk_text_attribute *title_attr, > + const struct stk_icon_id *icon, GSList *items, > const struct stk_item_text_attribute_list *item_attrs, > + const struct stk_item_icon_id_list *item_icon_ids, > int default_id, gboolean soft_key, gboolean has_help) > { > struct stk_menu *ret = g_new(struct stk_menu, 1); > + unsigned int len = g_slist_length(items); > GSList *l; > int i; > > DBG(""); > > + if (item_attrs && item_attrs->len && item_attrs->len != len * 4) > + goto error; > + > + if (item_icon_ids && item_icon_ids->len && item_icon_ids->len != len) > + goto error; > + > ret->title = g_strdup(title ? title : ""); > - ret->icon_id = 0; > - ret->items = g_new0(struct stk_menu_item, g_slist_length(items) + 1); > + memcpy(&ret->icon, icon, sizeof(ret->icon)); > + ret->items = g_new0(struct stk_menu_item, len + 1); > ret->default_item = -1; > ret->soft_key = soft_key; > ret->has_help = has_help; > @@ -278,12 +288,18 @@ static struct stk_menu *stk_menu_create(const char > *title, > > ret->items[i].text = g_strdup(item->text); > ret->items[i].item_id = item->id; > + if (item_icon_ids && item_icon_ids->len) > + ret->items[i].icon_id = item_icon_ids->list[i]; > > if (item->id == default_id) > ret->default_item = i; > } > > return ret; > + > +error: > + g_free(ret); > + return NULL; > } This part should be in a separate patch <snip> > @@ -381,7 +409,8 @@ static void dict_append_menu(DBusMessageIter *dict, > struct stk_menu *menu) > dbus_message_iter_close_container(dict, &entry); > } > > -static void stk_alpha_id_set(struct ofono_stk *stk, const char *text) > +static void stk_alpha_id_set(struct ofono_stk *stk, const char *text, > + const struct stk_icon_id *icon) stk_alpha_id_set changes should be in a separate patch ;) <snip> > > - if (!stk->pending_cmd->send_sms.alpha_id || > - !stk->pending_cmd->send_sms.alpha_id[0]) > - return; > - This part does not look related to icon ids at all. Please break it out into a separate patch. > stk_alpha_id_unset(stk); > } > > @@ -684,9 +713,7 @@ static void send_sms_submit_cb(gboolean ok, void *data) > return; > } > > - if (stk->pending_cmd->send_sms.alpha_id && > - stk->pending_cmd->send_sms.alpha_id[0]) > - stk_alpha_id_unset(stk); > + stk_alpha_id_unset(stk); Same comment as above. <snip> > @@ -1628,9 +1662,7 @@ static void send_ussd_callback(int error, int dcs, > const unsigned char *msg, > enum sms_charset charset; > unsigned char no_cause[] = { 0x00 }; > > - if (stk->pending_cmd->send_ussd.alpha_id && > - stk->pending_cmd->send_ussd.alpha_id[0]) > - stk_alpha_id_unset(stk); > + stk_alpha_id_unset(stk); And here as well. > @@ -1834,9 +1865,7 @@ static void send_dtmf_cancel(struct ofono_stk *stk) > stk->respond_on_exit = FALSE; > stk->extern_req->cancelled = TRUE; > > - if (stk->pending_cmd->send_dtmf.alpha_id && > - stk->pending_cmd->send_dtmf.alpha_id[0]) > - stk_alpha_id_unset(stk); > + stk_alpha_id_unset(stk); And here > } > > static void dtmf_sent_cb(const struct ofono_error *error, void *user_data) > @@ -1855,9 +1884,7 @@ static void dtmf_sent_cb(const struct ofono_error > *error, void *user_data) > > stk->respond_on_exit = FALSE; > > - if (stk->pending_cmd->send_dtmf.alpha_id && > - stk->pending_cmd->send_dtmf.alpha_id[0]) > - stk_alpha_id_unset(stk); > + stk_alpha_id_unset(stk); And here <snip> > struct stk_menu { > char *title; > - uint8_t icon_id; > + struct stk_icon_id icon; > struct stk_menu_item *items; > int default_item; > gboolean soft_key; The stk menu patches should be in a separate patch. > @@ -77,45 +77,49 @@ int stk_agent_request_selection(struct stk_agent *agent, > int timeout); > > int stk_agent_display_text(struct stk_agent *agent, const char *text, > - uint8_t icon_id, ofono_bool_t urgent, > + const struct stk_icon_id *icon, > + ofono_bool_t urgent, <snip> The stkagent changes should be in a separate patch... Regards, -Denis _______________________________________________ ofono mailing list ofono@ofono.org http://lists.ofono.org/listinfo/ofono