Changeset 3453


Ignore:
Timestamp:
11/20/07 15:00:44 (6 years ago)
Author:
chris
Message:
  • 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
Location:
trunk/src/target/OM-2007.2/applications/openmoko-dialer2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog

    r3452 r3453  
     12007-11-20  Chris Lord  <chris@openedhand.com> 
     2 
     3        * src/phone-kit/moko-dialer-sms.c: (moko_dialer_sms_finalize), 
     4        (store_sms), (gsmd_eventhandler), (sms_msghandler), 
     5        (net_msghandler), (opened_cb), (moko_dialer_sms_send): 
     6        Add more debugging, get own phone number correctly 
     7 
    182007-11-19  Chris Lord  <chris@openedhand.com> 
    29 
  • trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-dialer-sms.c

    r3452 r3453  
    3232        JanaNote *last_msg; 
    3333        MokoDialerSMSSource *source; 
     34        gchar *own_number; 
    3435}; 
    3536 
     
    6768         
    6869        g_source_destroy ((GSource *)priv->source); 
     70        g_free (priv->own_number); 
    6971        lgsm_exit (priv->handle); 
    7072 
     
    133135        switch (sms->payload.coding_scheme) { 
    134136            case ALPHABET_DEFAULT : 
    135                 message = g_malloc (GSMD_SMS_DATA_MAXLEN); 
     137                g_debug ("Decoding 7-bit ASCII message"); 
     138                message = g_malloc0 (GSMD_SMS_DATA_MAXLEN); 
    136139                unpacking_7bit_character ( 
    137140                        &sms->payload, message); 
     
    139142            case ALPHABET_8BIT : 
    140143                /* TODO: Verify: Is this encoding just UTF-8? */ 
     144                g_debug ("Decoding UTF-8 message"); 
    141145                message = g_strdup (sms->payload.data); 
    142146                break; 
    143147            case ALPHABET_UCS2 : 
     148                g_debug ("Decoding UCS-2 message"); 
    144149                message = g_utf16_to_utf8 ((const gunichar2 *) 
    145150                        sms->payload.data, sms->payload.length, 
     
    163168                g_free (author); 
    164169                 
    165                 /* TODO: Normalise number necessary? */ 
    166                 recipient = g_strdup_printf ("%d", 
    167                         lgsm_get_subscriber_num (priv->handle)); 
    168                 jana_note_set_recipient (note, recipient); 
    169                 g_free (recipient); 
     170                jana_note_set_recipient (note, priv->own_number); 
    170171                 
    171172                jana_note_set_body (note, message); 
     
    202203                        struct gsmd_sms_list * sms = 
    203204                                (struct gsmd_sms_list *)aux->data; 
     205                        g_debug ("Message inline"); 
    204206                        store_sms (moko_dialer_sms_get_default (), sms); 
    205207                } else { 
     208                        g_debug ("Message stored on SIM, reading..."); 
    206209                        lgsm_sms_read (priv->handle, aux->u.sms.index); 
    207210                } 
     
    278281                g_debug ("Storing message on SIM"); 
    279282                store_sms (sms, sms_list); 
    280         } 
     283        } else { 
     284                return -EINVAL; 
     285        } 
     286         
     287        return 0; 
     288} 
     289 
     290static int 
     291net_msghandler (struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh) 
     292{ 
     293        MokoDialerSMS *sms = moko_dialer_sms_get_default (); 
     294        MokoDialerSMSPrivate *priv = SMS_PRIVATE (sms); 
     295 
     296        const struct gsmd_own_number *num = (struct gsmd_own_number *) 
     297                ((void *) gmh + sizeof(*gmh)); 
     298 
     299        if (gmh->msg_subtype != GSMD_NETWORK_GET_NUMBER) return -EINVAL; 
     300         
     301        g_free (priv->own_number); 
     302         
     303        /* TODO: Normalise number necessary? */ 
     304        priv->own_number = g_strdup (num->addr.number); 
     305        g_debug ("Got phone number: %s", priv->own_number); 
    281306         
    282307        return 0; 
     
    346371        lgsm_register_handler (priv->handle, GSMD_MSG_SMS, &sms_msghandler); 
    347372         
    348         /* List all messages to move to journal */ 
    349         lgsm_sms_list (priv->handle, GSMD_SMS_ALL); 
     373        /* Connect network message handler (to get phone number) */ 
     374        lgsm_register_handler (priv->handle, GSMD_MSG_NETWORK, &net_msghandler); 
    350375         
    351376        /* Start polling for events */ 
     
    358383        g_source_add_poll ((GSource*)priv->source, &priv->source->pollfd); 
    359384        g_source_attach ((GSource*)priv->source, NULL); 
     385 
     386        /* Get phone number */ 
     387        lgsm_get_subscriber_num (priv->handle); 
     388         
     389        /* List all messages to move to journal */ 
     390        lgsm_sms_list (priv->handle, GSMD_SMS_ALL); 
    360391} 
    361392 
     
    457488        note = jana_ecal_note_new (); 
    458489        jana_note_set_recipient (note, number); 
    459          
    460         /* TODO: Normalise number necessary? */ 
    461         author = g_strdup_printf ("%d", 
    462                 lgsm_get_subscriber_num (priv->handle)); 
    463         jana_note_set_author (note, author); 
    464         g_free (author); 
     490        jana_note_set_author (note, priv->own_number); 
    465491         
    466492        jana_note_set_body (note, message); 
Note: See TracChangeset for help on using the changeset viewer.