All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yang Gu <yang.gu@intel.com>
To: ofono@ofono.org
Subject: [PATCH] Simulate provide local info command
Date: Thu, 18 Nov 2010 18:43:19 +0800	[thread overview]
Message-ID: <1290076999-27809-1-git-send-email-yang.gu@intel.com> (raw)

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

---
 src/simapplication.cpp |  263 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/simapplication.h   |    2 +
 2 files changed, 265 insertions(+), 0 deletions(-)

diff --git a/src/simapplication.cpp b/src/simapplication.cpp
index 7dc580f..901c5b9 100644
--- a/src/simapplication.cpp
+++ b/src/simapplication.cpp
@@ -284,6 +284,7 @@ const QString DemoSimApplication::getName()
 #define MainMenu_SendSS     11
 #define MainMenu_Language   12
 #define MainMenu_SendUSSD   13
+#define MainMenu_LocalInfo  14
 
 #define SportsMenu_Chess        1
 #define SportsMenu_Painting     2
@@ -342,6 +343,24 @@ const QString DemoSimApplication::getName()
 #define SendUSSD_Error      4
 #define SendUSSD_Main       5
 
+#define LocalInfoMenu_Loc               1
+#define LocalInfoMenu_IMEI              2
+#define LocalInfoMenu_NMR               3
+#define LocalInfoMenu_Time              4
+#define LocalInfoMenu_Lang              5
+#define LocalInfoMenu_TimingAdvance     6
+#define LocalInfoMenu_Tech              7
+#define LocalInfoMenu_ESN               8
+#define LocalInfoMenu_IMEISV            9
+#define LocalInfoMenu_SearchMode        10
+#define LocalInfoMenu_Battery           11
+#define LocalInfoMenu_MEID              12
+#define LocalInfoMenu_WSID              13
+#define LocalInfoMenu_Broadcast         14
+#define LocalInfoMenu_Techs             15
+#define LocalInfoMenu_Locs              16
+#define LocalInfoMenu_NMRs              17
+
 void DemoSimApplication::mainMenu()
 {
     QSimCommand cmd;
@@ -402,6 +421,10 @@ void DemoSimApplication::mainMenu()
     item.setLabel( "Send USSD" );
     items += item;
 
+    item.setIdentifier( MainMenu_LocalInfo );
+    item.setLabel( "Provide Local Information" );
+    items += item;
+
     cmd.setMenuItems( items );
 
     command( cmd, 0, 0 );
@@ -514,6 +537,12 @@ void DemoSimApplication::mainMenuSelection( int id )
         }
         break;
 
+        case MainMenu_LocalInfo:
+        {
+            sendLocalInfoMenu();
+        }
+        break;
+
         default:
         {
             // Don't know what this item is, so just re-display the main menu.
@@ -1832,3 +1861,237 @@ void DemoSimApplication::USSDMenu( const QSimTerminalResponse& resp )
         endSession();
     }
 }
+
+void DemoSimApplication::sendLocalInfoMenu()
+{
+    QSimCommand cmd;
+    QSimMenuItem item;
+    QList<QSimMenuItem> items;
+
+    cmd.setType( QSimCommand::SelectItem );
+    cmd.setTitle( "Provide Local Information" );
+
+    item.setIdentifier( LocalInfoMenu_Loc );
+    item.setLabel( "Location Information" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_IMEI );
+    item.setLabel( "IMEI" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_NMR );
+    item.setLabel( "Network Measurement results" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Time );
+    item.setLabel( "Date, time and time zone" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Lang );
+    item.setLabel( "Language setting" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_TimingAdvance );
+    item.setLabel( "Timing Advance" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Tech );
+    item.setLabel( "Access Technology" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_ESN );
+    item.setLabel( "ESN" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_IMEISV );
+    item.setLabel( "IMEISV" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_SearchMode );
+    item.setLabel( "Search Mode" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Battery );
+    item.setLabel( "Charge State of the Battery" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_MEID );
+    item.setLabel( "MEID" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_WSID );
+    item.setLabel( "WSID" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Broadcast );
+    item.setLabel( "Broadcast Network information" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Techs );
+    item.setLabel( "Multiple Access Technologies" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_Locs );
+    item.setLabel( "Location Information for multiple access technologies" );
+    items += item;
+
+    item.setIdentifier( LocalInfoMenu_NMRs );
+    item.setLabel( "Network Measurement results for multiple access technologies" );
+    items += item;
+
+    cmd.setMenuItems( items );
+
+    command( cmd, this, SLOT(localInfoMenu(QSimTerminalResponse)) );
+}
+
+void DemoSimApplication::localInfoMenu( const QSimTerminalResponse& resp )
+{
+    QSimCommand cmd;
+
+    if ( resp.result() == QSimTerminalResponse::Success ) {
+        switch ( resp.menuItem() ) {
+
+            case LocalInfoMenu_Loc:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x00 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_IMEI:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x01 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_NMR:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x02 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Time:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x03 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Lang:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x04 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_TimingAdvance:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x05 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Tech:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x06 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_ESN:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x07 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_IMEISV:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x08 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_SearchMode:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x09 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Battery:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0A );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_MEID:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0B );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_WSID:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0C );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Broadcast:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0D );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Techs:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0E );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_Locs:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x0F );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            case LocalInfoMenu_NMRs:
+            {
+                cmd.setType( QSimCommand::ProvideLocalInformation );
+                cmd.setQualifier( 0x10 );
+                command( cmd, this, SLOT(sendLocalInfoMenu()) );
+            }
+            break;
+
+            default:
+                endSession();
+                break;
+        }
+    } else {
+        endSession();
+    }
+}
diff --git a/src/simapplication.h b/src/simapplication.h
index 9d147ee..933635c 100644
--- a/src/simapplication.h
+++ b/src/simapplication.h
@@ -113,6 +113,8 @@ protected slots:
     void languageMenu( const QSimTerminalResponse& resp );
     void sendUSSDMenu();
     void USSDMenu( const QSimTerminalResponse& resp );
+    void sendLocalInfoMenu();
+    void localInfoMenu ( const QSimTerminalResponse& resp );
 
 private:
     int sticksLeft;
-- 
1.7.2.3


             reply	other threads:[~2010-11-18 10:43 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-18 10:43 Yang Gu [this message]
2010-11-22 14:31 ` [PATCH] Simulate provide local info command 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=1290076999-27809-1-git-send-email-yang.gu@intel.com \
    --to=yang.gu@intel.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.