r2087 - trunk/src/target/OM-2007/applications/openmoko-dialer/src

thomas at sita.openmoko.org thomas at sita.openmoko.org
Fri May 25 16:10:55 CEST 2007


Author: thomas
Date: 2007-05-25 16:10:54 +0200 (Fri, 25 May 2007)
New Revision: 2087

Modified:
   trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-callbacks-connection.c
   trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-main.c
   trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-incoming.c
Log:
openmoko-dialer:
  * Remove threads init from dialer-main.c
  * Update journal entry on incoming CLIP
  * Commit journal after incoming call


Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-callbacks-connection.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-callbacks-connection.c	2007-05-25 12:25:12 UTC (rev 2086)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-callbacks-connection.c	2007-05-25 14:10:54 UTC (rev 2087)
@@ -35,13 +35,6 @@
 }
 
 void
-incoming_clip_cb (MokoGsmdConnection *self, const char *number, MokoDialerData *data)
-{
-  /* caller id */
-  window_incoming_update_message (data, number);
-}
-
-void
 incoming_pin_request_cb (MokoGsmdConnection *self, int type, MokoDialerData *data)
 {
     g_debug( "incoming pin request for type %d", type );

Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-main.c	2007-05-25 12:25:12 UTC (rev 2086)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-main.c	2007-05-25 14:10:54 UTC (rev 2087)
@@ -173,8 +173,6 @@
   setlock ("/tmp/dialer.lock");
 
   /* Initialize Threading & GTK+ */
-  g_thread_init (NULL);
-  gdk_threads_init ();
   gtk_init (&argc, &argv);
   moko_stock_register ();
 
@@ -196,11 +194,11 @@
 
   g_signal_connect (G_OBJECT (conn), "network-registration", (GCallback) network_registration_cb, p_dialer_data);
   g_signal_connect (G_OBJECT (conn), "incoming-call", (GCallback) incoming_call_cb, p_dialer_data);
-  g_signal_connect (G_OBJECT (conn), "incoming-clip", (GCallback) incoming_clip_cb, p_dialer_data);
   g_signal_connect (G_OBJECT (conn), "pin-requested", (GCallback) incoming_pin_request_cb, p_dialer_data);
 
   /* Set up journal handling */
   p_dialer_data->journal = moko_journal_open_default ();
+  moko_journal_load_from_storage (p_dialer_data->journal);
 
   signal (SIGUSR1, handle_sigusr1);
 
@@ -216,10 +214,8 @@
     handle_sigusr1 (SIGUSR1);
   }
   
-  gdk_threads_enter ();
   gtk_main ();
-  gdk_threads_leave ();
-
+  
   //release everything
   contact_release_contact_list (&(p_dialer_data->g_contactlist));
 

Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-incoming.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-incoming.c	2007-05-25 12:25:12 UTC (rev 2086)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/dialer-window-incoming.c	2007-05-25 14:10:54 UTC (rev 2087)
@@ -27,39 +27,12 @@
 #include "dialer-window-talking.h"
 #include "dialer-window-history.h"
 
-void
-window_incoming_prepare (MokoDialerData * appdata) 
-{
-  if (!appdata)
-    
-  {
-    DBG_WARN ("appdata=NULL!");
-    return;
-  }
-  if (appdata->window_incoming == 0)
-    
-  {
-    window_incoming_init (appdata);
-  }
-  moko_dialer_status_set_person_number (appdata->status_incoming,
-                                          appdata->g_peer_info.number);
-  if (appdata->g_peer_info.hasname)
-    
-  {
-    moko_dialer_status_set_person_image (appdata->status_incoming,
-                                           appdata->g_peer_info.ID);
-    moko_dialer_status_set_person_name (appdata->status_incoming,
-                                         appdata->g_peer_info.name);
-  }
-  
-  else
-    
-  {
-    moko_dialer_status_set_person_image (appdata->status_incoming, "");
-    moko_dialer_status_set_person_name (appdata->status_incoming, "");
-  }
-}
+struct clip_callback_data {
+  MokoDialerData *data;
+  MokoJournalVoiceInfo *voice_info;
+};
 
+static void incoming_clip_cb (MokoGsmdConnection *self, char *number, struct clip_callback_data *clip_data);
 
 void
 window_incoming_init (MokoDialerData * data) 
@@ -96,7 +69,8 @@
 {
   MokoJournalEntry *entry = NULL;
   MokoJournalVoiceInfo *info = NULL;
-  gulong progress_handler;
+  gulong progress_handler, clip_handler;
+  struct clip_callback_data clip_data;
 
   if (!data->window_incoming)
   {
@@ -111,8 +85,12 @@
   moko_journal_add_entry (data->journal, entry);
 
   /* connect our handler to track call progress */
-  progress_handler = g_signal_connect (data->connection, "call-progress", 
+  progress_handler = g_signal_connect (data->connection, "call-progress",
                     G_CALLBACK (call_progress_cb), data);
+  clip_data.voice_info = info;
+  clip_data.data = data;
+  clip_handler = g_signal_connect (data->connection, "incoming-clip",
+                    G_CALLBACK (incoming_clip_cb), &clip_data);
 
 
   if (gtk_dialog_run (GTK_DIALOG (data->window_incoming)) == GTK_RESPONSE_OK)
@@ -135,15 +113,20 @@
 
   gtk_widget_hide (data->window_incoming);
 
-  /* disconnect the call progress handler since we no longer need it */
+  /* disconnect the call progress and clip handlers since we no longer need them */
   g_signal_handler_disconnect (data->connection, progress_handler);
+  g_signal_handler_disconnect (data->connection, clip_handler);
+
+  /* commit the journal entry */
+  moko_journal_write_to_storage (data->journal);
 }
 
-void
-window_incoming_update_message (MokoDialerData *data, const gchar *clip)
+static void
+incoming_clip_cb (MokoGsmdConnection *self, char *number, struct clip_callback_data *clip_data)
 {
-  g_debug ("Incoming Call CLIP: %s", clip);
-  moko_message_dialog_set_message (MOKO_MESSAGE_DIALOG (data->window_incoming),
-                                   "Incoming call from %s", clip);
-  // moko_journal_voice_info_set_distant_number ();
+  moko_message_dialog_set_message (MOKO_MESSAGE_DIALOG (clip_data->data->window_incoming),
+                                   "Incoming call from %s", number);
+
+  moko_journal_voice_info_set_distant_number (clip_data->voice_info, number);
 }
+





More information about the commitlog mailing list