r3529 - in trunk/src/target/OM-2007.2: . applications examples libraries/libmokogsmd2/libmokogsmd panel-plugins/openmoko-panel-gsm/src

mickey at sita.openmoko.org mickey at sita.openmoko.org
Wed Nov 28 17:57:32 CET 2007


Author: mickey
Date: 2007-11-28 17:57:31 +0100 (Wed, 28 Nov 2007)
New Revision: 3529

Added:
   trunk/src/target/OM-2007.2/examples/
   trunk/src/target/OM-2007.2/examples/example/
   trunk/src/target/OM-2007.2/examples/fingerscroll/
Removed:
   trunk/src/target/OM-2007.2/applications/example/
   trunk/src/target/OM-2007.2/applications/fingerscroll/
Modified:
   trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
   trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.h
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/Makefile.am
   trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c
Log:
move fingerscroll and example into dedicated examples directory


Copied: trunk/src/target/OM-2007.2/examples/example (from rev 3526, trunk/src/target/OM-2007.2/applications/example)

Copied: trunk/src/target/OM-2007.2/examples/fingerscroll (from rev 3526, trunk/src/target/OM-2007.2/applications/fingerscroll)

Modified: trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c	2007-11-28 16:56:23 UTC (rev 3528)
+++ trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c	2007-11-28 16:57:31 UTC (rev 3529)
@@ -99,6 +99,8 @@
 
     SIGNAL_GSMD_NET_CURRENT_OPERATOR = 100, /* Current Operator */
 
+    SIGNAL_GSMD_CONNECTION_STATUS = 200, /* Status of connection to gsmd */
+
     LAST_SIGNAL,
 };
 static guint moko_gsmd_connection_signals[LAST_SIGNAL] = { 0 };
@@ -107,13 +109,12 @@
 GObjectClass* parent_class = NULL;
 
 /* forward declarations */
+static gboolean
+moko_gsmd_connection_try_connect(MokoGsmdConnection* self);
 static int
-_moko_gsmd_connection_eventhandler(struct lgsm_handle *lh,
-                                   int evt_type, 
-                                   struct gsmd_evt_auxdata *aux);
+_moko_gsmd_connection_eventhandler(struct lgsm_handle *lh, int evt_type, struct gsmd_evt_auxdata *aux);
 
 /* class definition */
-
 static void
 moko_gsmd_connection_dispose(GObject* object)
 {
@@ -158,6 +159,19 @@
     object_class->finalize = moko_gsmd_connection_finalize;
 
     /* register signals */
+    moko_gsmd_connection_signals[SIGNAL_GSMD_CONNECTION_STATUS] = g_signal_new
+        ("gmsd-connection-status",
+        G_TYPE_FROM_CLASS (klass),
+        G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+        G_STRUCT_OFFSET (MokoGsmdConnectionClass, gsmd_connection_status),
+        NULL,
+        NULL,
+        g_cclosure_marshal_VOID__BOOLEAN,
+        G_TYPE_NONE,
+        1,
+        G_TYPE_BOOLEAN,
+        NULL );
+
     moko_gsmd_connection_signals[SIGNAL_GSMD_EVT_IN_CALL] = g_signal_new
         ("incoming-call",
         G_TYPE_FROM_CLASS (klass),
@@ -275,7 +289,6 @@
         G_TYPE_STRING,
         NULL);
 
-
     /* virtual methods */
 
     /* install properties */
@@ -287,6 +300,15 @@
     return g_object_new(MOKO_TYPE_GSMD_CONNECTION, NULL);
 }
 
+static void
+moko_gsmd_connection_init(MokoGsmdConnection* self)
+{
+    moko_debug( "moko_gsmd_connection_init" );
+    moko_gsmd_connection_instance = self;
+
+    g_timeout_add_seconds( 5, (GSourceFunc)moko_gsmd_connection_try_connect, self );
+}
+
 static gboolean 
 _moko_gsmd_connection_source_prepare( GSource* self, 
                                       gint* timeout )
@@ -536,6 +558,10 @@
             g_warning( "libgsmd: %s",
                        "can't connect to gsmd. You won't receive any events." );
 
+            g_signal_emit( G_OBJECT(self),
+                           moko_gsmd_connection_signals[SIGNAL_GSMD_CONNECTION_STATUS],
+                           0,
+                           FALSE );
             return TRUE; // can't connect, please call me again
         }
     }
@@ -572,18 +598,14 @@
     lgsm_register_handler( priv->handle, GSMD_MSG_PASSTHROUGH, &pt_msghandler);
     lgsm_register_handler( priv->handle, GSMD_MSG_NETWORK, &net_msghandler);
 
+    g_signal_emit( G_OBJECT(self),
+                   moko_gsmd_connection_signals[SIGNAL_GSMD_CONNECTION_STATUS],
+                   0,
+                   TRUE );
+
     return FALSE; // connection established, don't call again
 }
 
-static void
-moko_gsmd_connection_init(MokoGsmdConnection* self)
-{
-    moko_debug( "moko_gsmd_connection_init" );
-    moko_gsmd_connection_instance = self;
-
-    g_timeout_add_seconds( 5, (GSourceFunc)moko_gsmd_connection_try_connect, self );
-}
-
 /* public API */
 void 
 moko_gsmd_connection_set_antenna_power(MokoGsmdConnection* self, gboolean on, GError **error)

Modified: trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.h
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.h	2007-11-28 16:56:23 UTC (rev 3528)
+++ trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.h	2007-11-28 16:57:31 UTC (rev 3529)
@@ -54,6 +54,7 @@
     void (*network_current_operator) (MokoGsmdConnection* self, const gchar* name );
 
     /* Misc */
+    void (*gsmd_connection_status) (MokoGsmdConnection* self, gboolean status);
     void (*cme_cms_error) (MokoGsmdConnection *self, int code);
 
     /* Future padding */

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/Makefile.am
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/Makefile.am	2007-11-28 16:56:23 UTC (rev 3528)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/Makefile.am	2007-11-28 16:57:31 UTC (rev 3529)
@@ -4,7 +4,12 @@
 appletdir = $(libdir)/matchbox-panel/
 applet_LTLIBRARIES = libopenmoko-panel-gsm.la
 
-libopenmoko_panel_gsm_la_SOURCES = openmoko-panel-gsm.c
+libopenmoko_panel_gsm_la_SOURCES = \
+  openmoko-panel-gsm.c \
+  moko-pin.c \
+  moko-dialer-textview.c \
+  moko-dialer-panel.c \
+  moko-digit-button.c 
 libopenmoko_panel_gsm_la_LIBADD = @OPENMOKO_LIBS@
 
 MAINTAINERCLEANFILES = Makefile.in

Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c	2007-11-28 16:56:23 UTC (rev 3528)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-gsm/src/openmoko-panel-gsm.c	2007-11-28 16:57:31 UTC (rev 3529)
@@ -41,8 +41,15 @@
 
 static GsmApplet* theApplet = NULL;
 
-static void gsm_applet_show_status(GtkWidget* menu, GsmApplet* applet);
+/* forwards */
+static void
+gsm_applet_show_status(GtkWidget* menu, GsmApplet* applet);
+static void
+gsm_applet_update_signal_strength(MokoGsmdConnection* connection, int, GsmApplet* );
+static void
+gsm_applet_power_up_antenna(GtkWidget* menu, GsmApplet* applet);
 
+/* internal */
 static void
 gsm_applet_free(GsmApplet *applet)
 {
@@ -50,6 +57,28 @@
 }
 
 static void
+gsm_applet_autoregister_trigger(GsmApplet* applet)
+{
+    moko_gsmd_connection_network_register( applet->gsm );
+}
+
+static void
+gsm_applet_gsmd_connection_status(MokoGsmdConnection* connection, gboolean status)
+{
+    g_debug( "gsm_applet_gsmd_connection_status: status = %s", status ? "TRUE" : "FALSE" );
+    if ( status )
+    {
+        gsm_applet_power_up_antenna( NULL, theApplet );
+    }
+    else
+    {
+        strcpy( theApplet->operator_name, "<unknown>" );
+        gsm_applet_update_signal_strength(connection, 99, theApplet );
+        gsm_applet_show_status(NULL, theApplet);
+    }
+}
+
+static void
 gsm_applet_update_signal_strength(MokoGsmdConnection* connection,
                                   int strength,
                                   GsmApplet* applet)
@@ -120,6 +149,21 @@
 }
 
 static void
+gsm_applet_sim_pin_requested(MokoGsmdConnection* self, int type)
+{
+    static pin_requested = 0;
+    pin_requested++;
+    g_debug( "gsm_applet_sim_pin_requested: PIN type = %d", type );
+    if ( pin_requested == 1 )
+    {
+        const char* thePIN = get_pin_from_user();
+        moko_gsmd_connection_send_pin( self, thePIN );
+
+        g_timeout_add_seconds( 1, (GSourceFunc)gsm_applet_autoregister_trigger, theApplet );
+    }
+}
+
+static void
 gsm_applet_show_status(GtkWidget* menu, GsmApplet* applet)
 {
     const gchar* summary = 0;
@@ -129,23 +173,25 @@
         case 0:
             summary = g_strdup( "Not searching" );
         break;
-        
+
         case 1:
             summary = g_strdup_printf( "Connected to '%s'", applet->operator_name );
             details = g_strdup_printf( "Type: Home Network\nCell ID: %04x : %04x\nSignal: %i dbM", applet->lac, applet->cell, -113 + applet->strength*2 );
         break;
-        
+
         case 2: summary = g_strdup( "Searching for Service" );
         break;
-        
+
         case 3: summary = g_strdup( "Registration Denied" );
         break;
-        
+
         case 5:
             summary = g_strdup_printf( "Connected to '%s'", applet->operator_name );
             details = g_strdup_printf( "Type: Roaming\nCell ID: %04x : %04x\nSignal: %i dbM", applet->lac, applet->cell, -113 + applet->strength*2 );
         break;
-        default: summary = g_strdup( "Unknown" );
+
+        default:
+            summary = g_strdup( "Unknown" );
     }
 
     notify_notification_show( notify_notification_new( summary, details, NULL, NULL ), NULL );
@@ -193,9 +239,11 @@
     gtk_widget_show_all( GTK_WIDGET(mokoapplet) );
 
     applet->gsm = moko_gsmd_connection_new();
+    g_signal_connect( G_OBJECT(applet->gsm), "gmsd-connection-status", G_CALLBACK(gsm_applet_gsmd_connection_status), applet );
     g_signal_connect( G_OBJECT(applet->gsm), "signal-strength-changed", G_CALLBACK(gsm_applet_update_signal_strength), applet );
     g_signal_connect( G_OBJECT(applet->gsm), "network-registration", G_CALLBACK(gsm_applet_network_registration_cb), applet );
     g_signal_connect( G_OBJECT(applet->gsm), "network-current-operator", G_CALLBACK(gsm_applet_network_current_operator_cb), applet );
+    g_signal_connect( G_OBJECT(applet->gsm), "pin-requested", G_CALLBACK(gsm_applet_sim_pin_requested), applet );
 
     // tap-with-hold menu (NOTE: temporary: left button atm.)
     GtkMenu* menu = GTK_MENU (gtk_menu_new());





More information about the commitlog mailing list