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