Send commitlog mailing list submissions to
        [email protected]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.openmoko.org/mailman/listinfo/commitlog
or, via email, send a message with subject or body 'help' to
        [EMAIL PROTECTED]

You can reach the person managing the list at
        [EMAIL PROTECTED]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of commitlog digest..."
Today's Topics:

   1. r3452 - in
      trunk/src/target/OM-2007.2/applications/openmoko-dialer2: .
      src/phone-kit ([EMAIL PROTECTED])
   2. r3453 - in
      trunk/src/target/OM-2007.2/applications/openmoko-dialer2: .
      src/phone-kit ([EMAIL PROTECTED])
   3. r3454 - in trunk/src/target/OM-2007.2/libraries/libmokogsmd2:
      . libmokogsmd ([EMAIL PROTECTED])
   4. r3455 - in trunk/src/target/OM-2007.2/libraries/libmokogsmd2:
      . libmokogsmd ([EMAIL PROTECTED])
   5. r3456 - in
      trunk/src/target/OM-2007.2/applications/openmoko-dialer2: .
      src/phone-kit ([EMAIL PROTECTED])
   6. r3457 - in
      trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . data
      ([EMAIL PROTECTED])
--- Begin Message ---
Author: chris
Date: 2007-11-20 12:31:24 +0100 (Tue, 20 Nov 2007)
New Revision: 3452

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
Log:
        * src/phone-kit/moko-dialer-sms.c: (opened_cb), (moko_dialer_sms_init):
        Don't forget to open the note store before trying to do anything


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 09:10:06 UTC (rev 3451)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 11:31:24 UTC (rev 3452)
@@ -1,5 +1,10 @@
 2007-11-19  Chris Lord  <[EMAIL PROTECTED]>
 
+       * src/phone-kit/moko-dialer-sms.c: (opened_cb), (moko_dialer_sms_init):
+       Don't forget to open the note store before trying to do anything
+
+2007-11-19  Chris Lord  <[EMAIL PROTECTED]>
+
        * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),
        (connection_source_prepare), (connection_source_check),
        (connection_source_dispatch), (moko_dialer_sms_init):

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
    2007-11-20 09:10:06 UTC (rev 3451)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
    2007-11-20 11:31:24 UTC (rev 3452)
@@ -318,9 +318,8 @@
 }
 
 static void
-moko_dialer_sms_init (MokoDialerSMS *self)
+opened_cb (JanaStore *store, MokoDialerSMS *self)
 {
-       static gboolean first_init = TRUE;
        static GSourceFuncs funcs = {
                connection_source_prepare,
                connection_source_check,
@@ -330,20 +329,13 @@
        
        MokoDialerSMSPrivate *priv = SMS_PRIVATE (self);
        
-       /* We can only have one of these objects per process, as the gsmd 
-        * event handling callback does not allow for custom data...
-        */
-       if (!first_init)
-               g_error ("MokoDialerSMS already created in this process");
-       first_init = FALSE;
-       
-       /* Get the note store */
-       priv->note_store = jana_ecal_store_new (JANA_COMPONENT_NOTE);
-       
+       g_debug ("Journal opened, connecting to gsmd");
+
        /* Initialise gsmd and connect event handler */
        if (!(priv->handle = lgsm_init (LGSMD_DEVICE_GSMD))) {
                g_error ("Failed to connect to gsmd");
        } else {
+               g_debug ("Connected to gsmd");
                lgsm_evt_handler_register (priv->handle, GSMD_EVT_IN_SMS,
                        gsmd_eventhandler);
                lgsm_evt_handler_register (priv->handle, GSMD_EVT_IN_DS,
@@ -367,6 +359,27 @@
        g_source_attach ((GSource*)priv->source, NULL);
 }
 
+static void
+moko_dialer_sms_init (MokoDialerSMS *self)
+{
+       static gboolean first_init = TRUE;
+       
+       MokoDialerSMSPrivate *priv = SMS_PRIVATE (self);
+       
+       /* We can only have one of these objects per process, as the gsmd 
+        * event handling callback does not allow for custom data...
+        */
+       if (!first_init)
+               g_error ("MokoDialerSMS already created in this process");
+       first_init = FALSE;
+       
+       /* Get the note store */
+       priv->note_store = jana_ecal_store_new (JANA_COMPONENT_NOTE);
+       g_signal_connect (priv->note_store, "opened",
+               G_CALLBACK (opened_cb), self);
+       jana_store_open (priv->note_store);
+}
+
 MokoDialerSMS*
 moko_dialer_sms_new (void)
 {




--- End Message ---
--- Begin Message ---
Author: chris
Date: 2007-11-20 15:00:44 +0100 (Tue, 20 Nov 2007)
New Revision: 3453

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
Log:
        * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),
        (store_sms), (gsmd_eventhandler), (sms_msghandler),
        (net_msghandler), (opened_cb), (moko_dialer_sms_send):
        Add more debugging, get own phone number correctly


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 11:31:24 UTC (rev 3452)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 14:00:44 UTC (rev 3453)
@@ -1,3 +1,10 @@
+2007-11-20  Chris Lord  <[EMAIL PROTECTED]>
+
+       * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),
+       (store_sms), (gsmd_eventhandler), (sms_msghandler),
+       (net_msghandler), (opened_cb), (moko_dialer_sms_send):
+       Add more debugging, get own phone number correctly
+
 2007-11-19  Chris Lord  <[EMAIL PROTECTED]>
 
        * src/phone-kit/moko-dialer-sms.c: (opened_cb), (moko_dialer_sms_init):

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
    2007-11-20 11:31:24 UTC (rev 3452)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c
    2007-11-20 14:00:44 UTC (rev 3453)
@@ -31,6 +31,7 @@
        JanaStore *note_store;
        JanaNote *last_msg;
        MokoDialerSMSSource *source;
+       gchar *own_number;
 };
 
 static void
@@ -66,6 +67,7 @@
        MokoDialerSMSPrivate *priv = SMS_PRIVATE (object);
        
        g_source_destroy ((GSource *)priv->source);
+       g_free (priv->own_number);
        lgsm_exit (priv->handle);
 
        G_OBJECT_CLASS (moko_dialer_sms_parent_class)->finalize (object);
@@ -132,15 +134,18 @@
        message = NULL;
        switch (sms->payload.coding_scheme) {
            case ALPHABET_DEFAULT :
-               message = g_malloc (GSMD_SMS_DATA_MAXLEN);
+               g_debug ("Decoding 7-bit ASCII message");
+               message = g_malloc0 (GSMD_SMS_DATA_MAXLEN);
                unpacking_7bit_character (
                        &sms->payload, message);
                break;
            case ALPHABET_8BIT :
                /* TODO: Verify: Is this encoding just UTF-8? */
+               g_debug ("Decoding UTF-8 message");
                message = g_strdup (sms->payload.data);
                break;
            case ALPHABET_UCS2 :
+               g_debug ("Decoding UCS-2 message");
                message = g_utf16_to_utf8 ((const gunichar2 *)
                        sms->payload.data, sms->payload.length,
                        NULL, NULL, NULL);
@@ -162,11 +167,7 @@
                jana_note_set_author (note, author);
                g_free (author);
                
-               /* TODO: Normalise number necessary? */
-               recipient = g_strdup_printf ("%d",
-                       lgsm_get_subscriber_num (priv->handle));
-               jana_note_set_recipient (note, recipient);
-               g_free (recipient);
+               jana_note_set_recipient (note, priv->own_number);
                
                jana_note_set_body (note, message);
                
@@ -201,8 +202,10 @@
                if (aux->u.sms.inlined) {
                        struct gsmd_sms_list * sms =
                                (struct gsmd_sms_list *)aux->data;
+                       g_debug ("Message inline");
                        store_sms (moko_dialer_sms_get_default (), sms);
                } else {
+                       g_debug ("Message stored on SIM, reading...");
                        lgsm_sms_read (priv->handle, aux->u.sms.index);
                }
                break;
@@ -277,11 +280,33 @@
 
                g_debug ("Storing message on SIM");
                store_sms (sms, sms_list);
+       } else {
+               return -EINVAL;
        }
        
        return 0;
 }
 
+static int
+net_msghandler (struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
+{
+       MokoDialerSMS *sms = moko_dialer_sms_get_default ();
+       MokoDialerSMSPrivate *priv = SMS_PRIVATE (sms);
+
+       const struct gsmd_own_number *num = (struct gsmd_own_number *)
+               ((void *) gmh + sizeof(*gmh));
+
+       if (gmh->msg_subtype != GSMD_NETWORK_GET_NUMBER) return -EINVAL;
+       
+       g_free (priv->own_number);
+       
+       /* TODO: Normalise number necessary? */
+       priv->own_number = g_strdup (num->addr.number);
+       g_debug ("Got phone number: %s", priv->own_number);
+       
+       return 0;
+}
+
 static gboolean 
 connection_source_prepare (GSource* self, gint* timeout)
 {
@@ -345,8 +370,8 @@
        /* Connect SMS message handler (to get sent message references) */
        lgsm_register_handler (priv->handle, GSMD_MSG_SMS, &sms_msghandler);
        
-       /* List all messages to move to journal */
-       lgsm_sms_list (priv->handle, GSMD_SMS_ALL);
+       /* Connect network message handler (to get phone number) */
+       lgsm_register_handler (priv->handle, GSMD_MSG_NETWORK, &net_msghandler);
        
        /* Start polling for events */
        priv->source = (MokoDialerSMSSource *)
@@ -357,6 +382,12 @@
        priv->source->pollfd.revents = 0;
        g_source_add_poll ((GSource*)priv->source, &priv->source->pollfd);
        g_source_attach ((GSource*)priv->source, NULL);
+
+       /* Get phone number */
+       lgsm_get_subscriber_num (priv->handle);
+       
+       /* List all messages to move to journal */
+       lgsm_sms_list (priv->handle, GSMD_SMS_ALL);
 }
 
 static void
@@ -456,13 +487,8 @@
        /* Store sent message in journal */
        note = jana_ecal_note_new ();
        jana_note_set_recipient (note, number);
+       jana_note_set_author (note, priv->own_number);
        
-       /* TODO: Normalise number necessary? */
-       author = g_strdup_printf ("%d",
-               lgsm_get_subscriber_num (priv->handle));
-       jana_note_set_author (note, author);
-       g_free (author);
-       
        jana_note_set_body (note, message);
        jana_component_set_categories (JANA_COMPONENT (note),
                (const gchar *[]){ "Sending", NULL});




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-20 18:19:24 +0100 (Tue, 20 Nov 2007)
New Revision: 3454

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog
   
trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
Log:
* libmokogsmd/moko-gsmd-connection.c:
(moko_gsmd_connection_dispose): Check validity of source and gsm handle
before trying to disconnect from them


Modified: trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog 2007-11-20 
14:00:44 UTC (rev 3453)
+++ trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog 2007-11-20 
17:19:24 UTC (rev 3454)
@@ -1,3 +1,9 @@
+2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * libmokogsmd/moko-gsmd-connection.c:
+       (moko_gsmd_connection_dispose): Check validity of source and gsm handle
+       before trying to disconnect from them
+
 2007-11-08     Michael Lauer   <[EMAIL PROTECTED]>
 
        * libmokogsmd/moko-gsmd-connection.c: 
(moko_gsmd_connection_set_antenna_power):

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-20 14:00:44 UTC (rev 3453)
+++ 
trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
        2007-11-20 17:19:24 UTC (rev 3454)
@@ -114,9 +114,12 @@
 
     priv = GSMD_CONNECTION_GET_PRIVATE( MOKO_GSMD_CONNECTION( object ) );
 
-    g_source_destroy( (GSource*) priv->source );
-    lgsm_exit( priv->handle );
+    if (priv->source)
+      g_source_destroy( (GSource*) priv->source );
 
+    if (priv->handle)
+      lgsm_exit( priv->handle );
+
     /* call parent destructor */
     if (G_OBJECT_CLASS (moko_gsmd_connection_parent_class)->dispose)
         G_OBJECT_CLASS (moko_gsmd_connection_parent_class)->dispose (object);




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-20 18:33:27 +0100 (Tue, 20 Nov 2007)
New Revision: 3455

Modified:
   trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog
   
trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
Log:
* libmokogsmd/moko-gsmd-connection.c:
(moko_gsmd_connection_dispose): Remove the reference to the current
instance when object is disposed


Modified: trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog 2007-11-20 
17:19:24 UTC (rev 3454)
+++ trunk/src/target/OM-2007.2/libraries/libmokogsmd2/ChangeLog 2007-11-20 
17:33:27 UTC (rev 3455)
@@ -1,6 +1,12 @@
 2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
 
        * libmokogsmd/moko-gsmd-connection.c:
+       (moko_gsmd_connection_dispose): Remove the reference to the current
+       instance when object is disposed
+
+2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * libmokogsmd/moko-gsmd-connection.c:
        (moko_gsmd_connection_dispose): Check validity of source and gsm handle
        before trying to disconnect from them
 

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-20 17:19:24 UTC (rev 3454)
+++ 
trunk/src/target/OM-2007.2/libraries/libmokogsmd2/libmokogsmd/moko-gsmd-connection.c
        2007-11-20 17:33:27 UTC (rev 3455)
@@ -120,6 +120,9 @@
     if (priv->handle)
       lgsm_exit( priv->handle );
 
+    if (moko_gsmd_connection_instance)
+      moko_gsmd_connection_instance = NULL;
+
     /* call parent destructor */
     if (G_OBJECT_CLASS (moko_gsmd_connection_parent_class)->dispose)
         G_OBJECT_CLASS (moko_gsmd_connection_parent_class)->dispose (object);




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-20 18:42:11 +0100 (Tue, 20 Nov 2007)
New Revision: 3456

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.h
Log:
* src/phone-kit/moko-dialer.c: (moko_dialer_get_status),
(moko_dialer_dial), (moko_dialer_class_init), (dialer_init_gsmd):
* src/phone-kit/moko-dialer.h:

- Return error messages when d-bus functions fail.
- Try to re-connect to gsmd on each d-bus function rather than only on
initialisation


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 17:33:27 UTC (rev 3455)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 17:42:11 UTC (rev 3456)
@@ -1,3 +1,13 @@
+2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
+
+       * src/phone-kit/moko-dialer.c: (moko_dialer_get_status),
+       (moko_dialer_dial), (moko_dialer_class_init), (dialer_init_gsmd):
+       * src/phone-kit/moko-dialer.h:
+
+       - Return error messages when d-bus functions fail.
+       - Try to re-connect to gsmd on each d-bus function rather than only on
+       initialisation
+
 2007-11-20  Chris Lord  <[EMAIL PROTECTED]>
 
        * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize),

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
        2007-11-20 17:33:27 UTC (rev 3455)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.c
        2007-11-20 17:42:11 UTC (rev 3456)
@@ -76,10 +76,12 @@
 
 static guint dialer_signals[LAST_SIGNAL] = {0, };
 
+static MokoGsmdConnection * dialer_init_gsmd (MokoDialer *dialer);
+
 /* DBus functions */
 
 static gboolean
-moko_dialer_get_status (MokoDialer *dialer, gint *OUT_status, GError *error)
+moko_dialer_get_status (MokoDialer *dialer, gint *OUT_status, GError **error)
 {
   MokoDialerPrivate *priv;
   
@@ -92,7 +94,7 @@
 }
 
 gboolean
-moko_dialer_dial (MokoDialer *dialer, const gchar *number, GError *error)
+moko_dialer_dial (MokoDialer *dialer, const gchar *number, GError **error)
 {
 
   MokoDialerPrivate *priv;
@@ -104,6 +106,16 @@
 
   g_debug ("Received dial request: %s", number);
 
+
+  if (!priv->connection)
+    priv->connection = dialer_init_gsmd (dialer);
+  
+  if (!priv->connection)
+  {
+    *error = g_error_new (PHONE_KIT_DIALER_ERROR, PK_DIALER_ERROR_GSMD, "Could 
not connect to gsmd");
+    return FALSE;
+  }
+
   /* check current dialer state */
   if (0 || priv->status != DIALER_STATUS_NORMAL)
   {
@@ -113,14 +125,10 @@
       "Dialing",
       "Outgoing Call"
     };
-       /*
-       GtkWidget *dlg;
-    dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
-        "Cannot dial when dialer is busy.\nCurrent status = %s", 
strings[priv->status]);
-    gtk_dialog_run (GTK_DIALOG (dlg));
-    gtk_widget_destroy (dlg);
-    */
+
     g_warning ("Cannot dial when dialer is busy. Current status = %s\n", 
strings[priv->status]);
+    
+    *error = g_error_new (PHONE_KIT_DIALER_ERROR, PK_DIALER_ERROR_BUSY, 
"Dialer busy");
 
     return FALSE;
   }
@@ -140,15 +148,10 @@
       "",
       "Roaming network registered"
     };
-      /*
-       GtkWidget *dlg;
-    dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
-        "Not connected to network.\nCurrent status = %s ", 
strings[priv->registered]);
-    gtk_dialog_run (GTK_DIALOG (dlg));
-    gtk_widget_destroy (dlg);
-       */
-       g_warning ("Not connected to network.\nCurrent status = %s ", 
strings[priv->registered]);
 
+    g_warning ("Not connected to network.\nCurrent status = %s ", 
strings[priv->registered]);
+    *error = g_error_new (PHONE_KIT_DIALER_ERROR, 
PK_DIALER_ERROR_NOT_CONNECTED, "No Network");
+
     /* no point continuing if we're not connected to a network! */
     priv->status = DIALER_STATUS_NORMAL;
     return FALSE;
@@ -176,10 +179,23 @@
 }
 
 static gboolean
-moko_dialer_hang_up (MokoDialer *dialer, const gchar *message, GError *error)
+moko_dialer_hang_up (MokoDialer *dialer, const gchar *message, GError **error)
 {
+  MokoDialerPrivate *priv;
+
+  priv = dialer->priv; 
   g_return_val_if_fail (MOKO_IS_DIALER (dialer), FALSE);
+
+  /* check for gsmd connection */
+  if (!priv->connection)
+    priv->connection = dialer_init_gsmd (dialer);
   
+  if (!priv->connection)
+  {
+    *error = g_error_new (PHONE_KIT_DIALER_ERROR, PK_DIALER_ERROR_GSMD, "Could 
not connect to gsmd");
+    return FALSE;
+  }
+
   /* FIXME: Create a dialog and let the user know that another program is
    * requesting the connection be dropped, and why ($message).
    */
@@ -661,45 +677,30 @@
 static void
 dialer_display_error (GError *err)
 {
-  /* GtkWidget *dlg; */
-
   if (!err)
     return;
-  /*
-  dlg = gtk_message_dialog_new (NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, 
"Dialer: %s", err->message);
-  gtk_dialog_run (GTK_DIALOG (dlg));
-  gtk_widget_destroy (dlg);
-  */
   g_warning (err->message);
 }
 
-static void
-moko_dialer_init (MokoDialer *dialer)
+static MokoGsmdConnection *
+dialer_init_gsmd (MokoDialer *dialer)
 {
+  GError *err = NULL;
+  MokoGsmdConnection *conn;
   MokoDialerPrivate *priv;
-  MokoGsmdConnection *conn;
-  GError *err = NULL;
-
   priv = dialer->priv = MOKO_DIALER_GET_PRIVATE (dialer);
 
-  /* create the dialer_data struct */
-  priv->status = DIALER_STATUS_NORMAL;
-  
-  /* clear incoming clip */
-  priv->incoming_clip = NULL;
-
-  /* Initialise the contacts list */
-  //contact_init_contact_data (&(priv->data->g_contactlist));
-
   /* Init the gsmd connection, and power it up */
-  conn = priv->connection = moko_gsmd_connection_new ();
+  conn = moko_gsmd_connection_new ();
   moko_gsmd_connection_set_antenna_power (conn, TRUE, &err);
 
   dialer_display_error (err);
   if (err && err->code == MOKO_GSMD_ERROR_CONNECT)
-    exit (1); /* no point continuing if we can't connect to gsmd? */
+  {
+    g_object_unref (conn);
+    return NULL;
+  }
 
- 
   /* Connect to the gsmd signals */
   g_signal_connect (G_OBJECT (conn), "network-registration", 
                     G_CALLBACK (on_network_registered), (gpointer)dialer);
@@ -716,7 +717,28 @@
    *  moko_gsmd_connection_get_network_status always seems to return 0 here */
   priv->registered = MOKO_GSMD_CONNECTION_NETREG_SEARCHING;
   moko_gsmd_connection_network_register (conn);
- 
+
+  return conn;
+}
+
+static void
+moko_dialer_init (MokoDialer *dialer)
+{
+  MokoDialerPrivate *priv;
+
+  priv = dialer->priv = MOKO_DIALER_GET_PRIVATE (dialer);
+
+  /* create the dialer_data struct */
+  priv->status = DIALER_STATUS_NORMAL;
+  
+  /* clear incoming clip */
+  priv->incoming_clip = NULL;
+
+  /* Initialise the contacts list */
+  //contact_init_contact_data (&(priv->data->g_contactlist));
+
+  priv->connection = dialer_init_gsmd (dialer);
+
   /* Set up the journal */
   priv->journal = moko_journal_open_default ();
   if (!priv->journal || !moko_journal_load_from_storage (priv->journal))

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.h
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.h
        2007-11-20 17:33:27 UTC (rev 3455)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer.h
        2007-11-20 17:42:11 UTC (rev 3456)
@@ -43,6 +43,14 @@
 #define MOKO_DIALER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), \
         MOKO_TYPE_DIALER, MokoDialerClass))
 
+#define PHONE_KIT_DIALER_ERROR g_quark_from_static_string("phone-kit-dialer")
+
+typedef enum {
+  PK_DIALER_ERROR_BUSY,
+  PK_DIALER_ERROR_GSMD,
+  PK_DIALER_ERROR_NOT_CONNECTED
+} PhoneKitDialerError;
+
 typedef struct _MokoDialer MokoDialer;
 typedef struct _MokoDialerClass MokoDialerClass;
 typedef struct _MokoDialerPrivate MokoDialerPrivate;
@@ -53,7 +61,6 @@
   DIALER_STATUS_INCOMING,
   DIALER_STATUS_DIALING,
   DIALER_STATUS_TALKING
-
 };
 
 struct _MokoDialer
@@ -97,13 +104,13 @@
 moko_dialer_get_default (void);
 
 gboolean
-moko_dialer_show_dialer (MokoDialer *dialer, GError *error);
+moko_dialer_show_dialer (MokoDialer *dialer, GError **error);
 
 gboolean
-moko_dialer_show_missed_calls (MokoDialer *dialer, GError *error);
+moko_dialer_show_missed_calls (MokoDialer *dialer, GError **error);
 
 gboolean
-moko_dialer_dial (MokoDialer *dialer, const gchar *number, GError *error);
+moko_dialer_dial (MokoDialer *dialer, const gchar *number, GError **error);
 
 void
 moko_dialer_outgoing_call (MokoDialer *dialer, const gchar *number);




--- End Message ---
--- Begin Message ---
Author: thomas
Date: 2007-11-20 18:42:51 +0100 (Tue, 20 Nov 2007)
New Revision: 3457

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/data/openmoko-dialer.desktop
Log:
* data/openmoko-dialer.desktop: Set single instance to true


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 17:42:11 UTC (rev 3456)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog  
2007-11-20 17:42:51 UTC (rev 3457)
@@ -1,5 +1,9 @@
 2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
 
+       * data/openmoko-dialer.desktop: Set single instance to true
+
+2007-11-20  Thomas Wood  <[EMAIL PROTECTED]>
+
        * src/phone-kit/moko-dialer.c: (moko_dialer_get_status),
        (moko_dialer_dial), (moko_dialer_class_init), (dialer_init_gsmd):
        * src/phone-kit/moko-dialer.h:

Modified: 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/data/openmoko-dialer.desktop
===================================================================
--- 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/data/openmoko-dialer.desktop
       2007-11-20 17:42:11 UTC (rev 3456)
+++ 
trunk/src/target/OM-2007.2/applications/openmoko-dialer2/data/openmoko-dialer.desktop
       2007-11-20 17:42:51 UTC (rev 3457)
@@ -8,5 +8,5 @@
 Type=Application
 Categories=GTK;Application;PIM;Office
 MimeType=text/x-vcard;
-SingleInstance=false
+X-MB-SingleInstance=true
 StartupNotify=true




--- End Message ---
_______________________________________________
commitlog mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/commitlog

Reply via email to