From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCHv2 7/8] call-forwarding: Clear the conditional cache flag
Date: Wed, 22 Feb 2012 07:33:15 -0600 [thread overview]
Message-ID: <4F44EE9B.8000407@gmail.com> (raw)
In-Reply-To: <1328531641-10612-8-git-send-email-oleg.zhurakivskyy@intel.com>
[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]
Hi Oleg,
On 02/06/2012 06:34 AM, Oleg Zhurakivskyy wrote:
> If there is an successful attempt to deactivate conditional cf
> while cfu is active, the conditional cache flag is cleared.
> ---
> src/call-forwarding.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/src/call-forwarding.c b/src/call-forwarding.c
> index 2813005..a38a743 100644
> --- a/src/call-forwarding.c
> +++ b/src/call-forwarding.c
> @@ -722,6 +722,14 @@ static void set_query_cf_callback(const struct ofono_error *error, int total,
> DBG("%s conditions:", cf_type_lut[cf->query_next]);
> cf_cond_list_print(l);
>
> + /*
> + * If there is an successful attempt to deactivate conditional cf
> + * while cfu is active, the conditional cache flag is cleared.
> + */
> + if (cf->query_next != CALL_FORWARDING_TYPE_UNCONDITIONAL &&
> + is_cfu_enabled(cf))
> + cf->flags &= ~CALL_FORWARDING_FLAG_CACHED;
> +
> if (cf->query_next != cf->query_end) {
> cf->query_next++;
> set_query_next_cf_cond(cf);
This would cause us to re-query everything, which is a bit wasteful.
Also, you have to handle the same action that might occur during
supplementary services path, e.g. the user might deactivate / erase a
conditional service there (see cf_ss_control and
cf_ss_control_callback). The DisableAll path also needs to be handled
properly.
Also, there is another path you need to take under consideration and
that is the supplementary service interrogation path. That one can
update conditional settings erroneously if CFU is active. See
ss_set_query_cf_callback.
We might need to track CFU and conditional caches separately to make
things easier. Let me know if you have any questions. CallForwarding
was one of the earliest implemented interfaces and turned out to be
quite a bit more complicated than originally thought ;)
Regards,
-Denis
next prev parent reply other threads:[~2012-02-22 13:33 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-06 12:33 [PATCHv2 0/8] Call forwarding state handling change Oleg Zhurakivskyy
2012-02-06 12:33 ` [PATCHv2 1/8] call-forwarding: Minor style fixes Oleg Zhurakivskyy
2012-02-22 10:25 ` Denis Kenzior
2012-02-06 12:33 ` [PATCHv2 2/8] call-forwarding: Minor refactoring of is_cfu_enabled() Oleg Zhurakivskyy
2012-02-22 10:25 ` Denis Kenzior
2012-02-06 12:33 ` [PATCHv2 3/8] call-forwarding: Don't set conditional cfs when cfu is active Oleg Zhurakivskyy
2012-02-22 10:34 ` Denis Kenzior
2012-02-06 12:33 ` [PATCHv2 4/8] call-forwarding: Don't report " Oleg Zhurakivskyy
2012-02-22 13:19 ` Denis Kenzior
2012-02-06 12:33 ` [PATCHv2 5/8] call-forwarding: Emit signals to mask/unmask conditional cfs Oleg Zhurakivskyy
2012-02-22 13:19 ` Denis Kenzior
2012-02-06 12:33 ` [PATCHv2 6/8] call-forwarding: Don't run conditional queries if cfu is active Oleg Zhurakivskyy
2012-02-22 13:24 ` Denis Kenzior
2012-02-23 9:51 ` Oleg Zhurakivskyy
2012-02-06 12:34 ` [PATCHv2 7/8] call-forwarding: Clear the conditional cache flag Oleg Zhurakivskyy
2012-02-22 13:33 ` Denis Kenzior [this message]
2012-02-23 9:52 ` Oleg Zhurakivskyy
2012-02-06 12:34 ` [PATCHv2 8/8] TODO: Remove completed call forwarding state task Oleg Zhurakivskyy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F44EE9B.8000407@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.