All of lore.kernel.org
 help / color / mirror / Atom feed
From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCH 3/6] hardwaremanipulator: Use the best scheme for CBS message
Date: Sun, 24 Jun 2012 17:12:35 -0500	[thread overview]
Message-ID: <4FE790D3.2050904@gmail.com> (raw)
In-Reply-To: <1340809845-26595-4-git-send-email-philippe.nunes@linux.intel.com>

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

Hi Philippe,

On 06/27/2012 10:10 AM, Philippe Nunes wrote:
> ---
>   src/control.cpp             |    9 +++----
>   src/hardwaremanipulator.cpp |   61 ++++++++++++++++++++++---------------------
>   src/hardwaremanipulator.h   |    6 +++--
>   3 files changed, 38 insertions(+), 38 deletions(-)
>

<snip>

> @@ -91,43 +90,45 @@ QString HardwareManipulator::constructCBMessage(const QString&messageCode, int
>           warning(tr("Invalid Channel,"),
>                   tr("Channel  must be 4 hex digits long "
>                      "and no larger than FFFF"));
> -        return "";
> +        return;
>       }
>
> -    //scheme is currently hardcoded to QSMS8_BitCodingScheme
> -    //uint sch = convertString(scheme, NIBBLE_MAX, ONE_CHAR,HEX_BASE,&ok);
> -    //if ( !ok )
> -    //    return "";
> -
>       QCBSMessage::Language lang = (QCBSMessage::Language)language;
>
> -    uint npag = convertString(numPages, NIBBLE_MAX,ONE_CHAR,HEX_BASE,&ok);
> -    if ( !ok ) {
> -        warning(tr("Invalid number of pages,"),
> -                tr("Number of pages  must be 1 hex digit long "
> -                   "and no larger than F"));
> -        return "";
> -    }
> -
> -    uint pag = convertString(page, NIBBLE_MAX,ONE_CHAR,HEX_BASE,&ok);
> -    if ( !ok ) {
> -        warning(tr("Invalid page number,"),
> -                tr("Page number  must be 1 hex digit long "
> -                   "and no larger than F"));
> -        return "";
> -    }
> -
>       QCBSMessage m;
>       m.setMessageCode(mc);
>       m.setScope(gs);
>       m.setUpdateNumber(un);
>       m.setChannel(ch);
>       m.setLanguage(lang);
> -    m.setNumPages(npag);
> -    m.setPage(pag);
> +    m.setPage(1);
>       m.setText(content);
> +    m.setDataCodingScheme(m.bestScheme());
> +
> +    if ( m.dataCodingScheme() == QSMS_DefaultAlphabet&&
> +                content.length()>  (15*93)) {
> +        warning(tr("Text too long"),
> +        tr("The maximum number of pages (15) "
> +                          "is reached - text is truncated"));
> +        m.setText(content.mid( 0, 15*93 ));
> +    } else if (content.length()>  (15*40)) {
> +        warning(tr("Text too long"),
> +        tr("The maximum number of pages (15) "
> +                           "is reached - text is truncated"));
> +        m.setText(content.mid( 0, 15*40 ));
> +    }

Why are you adding these checks when computeSize can already tell you 
the number of pages required?  Also, this really belongs in the 
follow-on patch since that deals with multiple pages.  It sounds like 
bestScheme / dataCodingScheme need some more thought.

> +
> +    uint nbPages, spaceLeftInLast;
> +    m.computeSize( nbPages, spaceLeftInLast );
> +    m.setNumPages(nbPages);

The split() operation should really be setting the number of pages.

Regards,
-Denis

  reply	other threads:[~2012-06-24 22:12 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-27 15:10 [PATCH 0/6] phonesim: CBS/USSD improvments Philippe Nunes
2012-06-27 15:10 ` [PATCH 1/6] controbase: Remove entries in CBM UI Philippe Nunes
2012-06-27 15:10 ` [PATCH 2/6] qcbsmessage: Add bestScheme method in QCBSMessage class Philippe Nunes
2012-06-24 21:44   ` Denis Kenzior
2012-06-27 15:10 ` [PATCH 3/6] hardwaremanipulator: Use the best scheme for CBS message Philippe Nunes
2012-06-24 22:12   ` Denis Kenzior [this message]
2012-06-27 15:10 ` [PATCH 4/6] hardwaremanipulator: Add multi-page support " Philippe Nunes
2012-06-27 15:10 ` [PATCH 5/6] phonesim: Add support for USSD answer Philippe Nunes
2012-06-24 21:44   ` Denis Kenzior
2012-06-27 15:10 ` [PATCH 6/6] phonesim: Add support for USSD session cancellation Philippe Nunes
2012-06-24 21:44   ` Denis Kenzior

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=4FE790D3.2050904@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.