Automatically guess the adequate trigger when registered through a plug-in
This commit is contained in:
parent
fad8aa3c2a
commit
020c9731fb
128
po/fr.po
128
po/fr.po
@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Phone 0.0.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-06-03 16:53+0200\n"
|
||||
"POT-Creation-Date: 2010-06-13 17:44+0200\n"
|
||||
"PO-Revision-Date: 2010-04-24 02:07+0200\n"
|
||||
"Last-Translator: Pierre Pronchery <khorben@defora.org>\n"
|
||||
"Language-Team: French\n"
|
||||
@ -112,7 +112,7 @@ msgstr "Délai d'attente du réseau dépassé"
|
||||
msgid "Network not allowed - emergency calls only"
|
||||
msgstr "Réseau non autorisé - appels d'urgence uniquement"
|
||||
|
||||
#: ../src/gsm.c:172 ../src/gsm.c:1155 ../src/gsm.c:1365 ../src/gsm.c:1425
|
||||
#: ../src/gsm.c:172 ../src/gsm.c:1184 ../src/gsm.c:1394 ../src/gsm.c:1454
|
||||
msgid "Unknown error"
|
||||
msgstr "Erreur inconnue"
|
||||
|
||||
@ -136,7 +136,7 @@ msgstr "Index mémoire invalide"
|
||||
msgid ": Unknown baudrate, assuming 115200"
|
||||
msgstr ": Débit inconnu, tente 115200"
|
||||
|
||||
#: ../src/gsm.c:995
|
||||
#: ../src/gsm.c:1024
|
||||
msgid "Event not handled"
|
||||
msgstr "Événement non géré"
|
||||
|
||||
@ -149,208 +149,228 @@ msgid ""
|
||||
" -F\tEnable hardware flow control (RTS/CTS)\n"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/phone.c:352
|
||||
#: ../src/phone.c:376
|
||||
msgid "Initializing..."
|
||||
msgstr "Initialisation..."
|
||||
|
||||
#: ../src/phone.c:543
|
||||
#: ../src/phone.c:565
|
||||
msgid "Checking SIM PIN code..."
|
||||
msgstr "Vérification du code SIM PIN..."
|
||||
|
||||
#: ../src/phone.c:987
|
||||
#: ../src/phone.c:889 ../src/phone.c:961
|
||||
msgid "Delete this message?"
|
||||
msgstr "Supprimer ce message?"
|
||||
|
||||
#: ../src/phone.c:895 ../src/phone.c:966
|
||||
msgid "Deleting message..."
|
||||
msgstr "Suppression du message..."
|
||||
|
||||
#: ../src/phone.c:1040
|
||||
msgid "Answer"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: ../src/phone.c:994
|
||||
#: ../src/phone.c:1047
|
||||
msgid "Hangup"
|
||||
msgstr "Raccrocher"
|
||||
|
||||
#: ../src/phone.c:1001
|
||||
#: ../src/phone.c:1054
|
||||
msgid "Reject"
|
||||
msgstr "Rejeter"
|
||||
|
||||
#: ../src/phone.c:1024
|
||||
#: ../src/phone.c:1077
|
||||
msgid "Loudspeaker"
|
||||
msgstr "Haut-parleur"
|
||||
|
||||
#: ../src/phone.c:1034
|
||||
#: ../src/phone.c:1087
|
||||
msgid "Mute microphone"
|
||||
msgstr "Couper le microphone"
|
||||
|
||||
#: ../src/phone.c:1050
|
||||
#: ../src/phone.c:1103
|
||||
msgid "Unknown contact"
|
||||
msgstr "Contact inconnu"
|
||||
|
||||
#: ../src/phone.c:1057
|
||||
#: ../src/phone.c:1110
|
||||
msgid "Unknown number"
|
||||
msgstr "Numéro inconnu"
|
||||
|
||||
#: ../src/phone.c:1065
|
||||
#: ../src/phone.c:1118
|
||||
msgid "In conversation"
|
||||
msgstr "En conversation"
|
||||
|
||||
#: ../src/phone.c:1073
|
||||
#: ../src/phone.c:1126
|
||||
msgid "Incoming call"
|
||||
msgstr "Appel entrant"
|
||||
|
||||
#: ../src/phone.c:1080
|
||||
#: ../src/phone.c:1133
|
||||
msgid "Outgoing call"
|
||||
msgstr "Appel sortant"
|
||||
|
||||
#: ../src/phone.c:1088
|
||||
#: ../src/phone.c:1141
|
||||
msgid "Call finished"
|
||||
msgstr "Appel terminé"
|
||||
|
||||
#: ../src/phone.c:1142
|
||||
#: ../src/phone.c:1195
|
||||
msgid "Enter"
|
||||
msgstr "Entrer"
|
||||
|
||||
#: ../src/phone.c:1144
|
||||
#: ../src/phone.c:1197
|
||||
msgid "Skip"
|
||||
msgstr "Ignorer"
|
||||
|
||||
#: ../src/phone.c:1155
|
||||
#: ../src/phone.c:1208
|
||||
msgid "Enter SIM PIN code"
|
||||
msgstr "Entrer le code SIM PIN"
|
||||
|
||||
#: ../src/phone.c:1184
|
||||
#: ../src/phone.c:1237
|
||||
msgid "Contacts"
|
||||
msgstr "Contacts"
|
||||
|
||||
#: ../src/phone.c:1191 ../src/phone.c:1500 ../src/phone.c:1543
|
||||
#: ../src/phone.c:1668
|
||||
#: ../src/phone.c:1244 ../src/phone.c:1553 ../src/phone.c:1596
|
||||
#: ../src/phone.c:1720
|
||||
msgid "Call"
|
||||
msgstr "Appeler"
|
||||
|
||||
#: ../src/phone.c:1201
|
||||
#: ../src/phone.c:1254
|
||||
msgid "Write"
|
||||
msgstr "Écrire"
|
||||
|
||||
#: ../src/phone.c:1223 ../src/phone.c:1762
|
||||
#: ../src/phone.c:1276 ../src/phone.c:1824
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: ../src/phone.c:1472
|
||||
#: ../src/phone.c:1525
|
||||
msgid "Dialer"
|
||||
msgstr "Composer"
|
||||
|
||||
#: ../src/phone.c:1502
|
||||
#: ../src/phone.c:1555
|
||||
msgid "Hang up"
|
||||
msgstr "Raccrocher"
|
||||
|
||||
#: ../src/phone.c:1536
|
||||
#: ../src/phone.c:1589
|
||||
msgid "Messages"
|
||||
msgstr "Messages"
|
||||
|
||||
#: ../src/phone.c:1549
|
||||
#: ../src/phone.c:1602
|
||||
msgid "New message"
|
||||
msgstr "Nouveau message"
|
||||
|
||||
#: ../src/phone.c:1555
|
||||
#: ../src/phone.c:1608 ../src/phone.c:1726
|
||||
msgid "Reply"
|
||||
msgstr "Répondre"
|
||||
|
||||
#: ../src/phone.c:1573
|
||||
#: ../src/phone.c:1626
|
||||
msgid "Inbox"
|
||||
msgstr "Reçus"
|
||||
|
||||
#: ../src/phone.c:1577
|
||||
#: ../src/phone.c:1630
|
||||
msgid "Sent"
|
||||
msgstr "Envoyés"
|
||||
|
||||
#: ../src/phone.c:1596
|
||||
#: ../src/phone.c:1649
|
||||
msgid "From"
|
||||
msgstr "De"
|
||||
|
||||
#: ../src/phone.c:1602
|
||||
#: ../src/phone.c:1655
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: ../src/phone.c:1662
|
||||
#: ../src/phone.c:1714
|
||||
msgid "Read message"
|
||||
msgstr "Lire le message"
|
||||
|
||||
#: ../src/phone.c:1739
|
||||
#: ../src/phone.c:1801
|
||||
msgid "Phone settings"
|
||||
msgstr "Paramètres du téléphone"
|
||||
|
||||
#: ../src/phone.c:1802
|
||||
#: ../src/phone.c:1864
|
||||
msgid "Write message"
|
||||
msgstr "Écrire un message"
|
||||
|
||||
#: ../src/phone.c:1808
|
||||
#: ../src/phone.c:1870
|
||||
msgid "Send"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: ../src/phone.c:1814
|
||||
#: ../src/phone.c:1876
|
||||
msgid "Attach"
|
||||
msgstr "Attacher"
|
||||
|
||||
#: ../src/phone.c:1920
|
||||
#: ../src/phone.c:1990
|
||||
#, c-format
|
||||
msgid "%d message%s, %d/%d characters"
|
||||
msgstr "%d message%s, %d/%d caractères"
|
||||
|
||||
#: ../src/phone.c:1921
|
||||
#: ../src/phone.c:1991
|
||||
msgid "s"
|
||||
msgstr "s"
|
||||
|
||||
#: ../src/phone.c:1947
|
||||
#: ../src/phone.c:2017
|
||||
msgid "Sending message..."
|
||||
msgstr "Envoi du message..."
|
||||
|
||||
#: ../src/phone.c:2063
|
||||
#: ../src/phone.c:2133
|
||||
msgid "Operation in progress..."
|
||||
msgstr "Opération en cours..."
|
||||
|
||||
#: ../src/phone.c:2091 ../src/phone.c:2096
|
||||
#: ../src/phone.c:2161 ../src/phone.c:2166
|
||||
msgid "Question"
|
||||
msgstr "Question"
|
||||
|
||||
#: ../src/phone.c:2186 ../src/phone.c:2191
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: ../src/phone.c:2143 ../src/phone.c:2148
|
||||
#: ../src/phone.c:2238 ../src/phone.c:2243
|
||||
msgid "Information"
|
||||
msgstr "Information"
|
||||
|
||||
#: ../src/phone.c:2238
|
||||
#: ../src/phone.c:2355
|
||||
msgid "Unknown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: ../src/phone.c:2241
|
||||
#: ../src/phone.c:2358
|
||||
msgid "Registering..."
|
||||
msgstr "Enregistrement..."
|
||||
|
||||
#: ../src/phone.c:2244
|
||||
#: ../src/phone.c:2361
|
||||
msgid "Denied"
|
||||
msgstr "Refusé"
|
||||
|
||||
#: ../src/phone.c:2249
|
||||
#: ../src/phone.c:2366
|
||||
msgid "SIM check..."
|
||||
msgstr "Vérification SIM..."
|
||||
|
||||
#: ../src/phone.c:2255
|
||||
#: ../src/phone.c:2372
|
||||
msgid "SIM ready..."
|
||||
msgstr "SIM prête..."
|
||||
|
||||
#: ../src/phone.c:2372
|
||||
#: ../src/phone.c:2491
|
||||
msgid "New message received"
|
||||
msgstr "Nouveau message reçu"
|
||||
|
||||
#: ../src/phone.c:2399
|
||||
#: ../src/phone.c:2507
|
||||
msgid "Message sent"
|
||||
msgstr "Message envoyé"
|
||||
|
||||
#: ../src/phone.c:2423
|
||||
#: ../src/phone.c:2531
|
||||
msgid "SIM PIN is valid"
|
||||
msgstr "Code SIM PIN valide"
|
||||
|
||||
#: ../src/phone.c:2463
|
||||
#: ../src/phone.c:2567
|
||||
msgid "Could not request new message indications"
|
||||
msgstr ""
|
||||
|
||||
#: ../src/phone.c:2578
|
||||
msgid "Could not send message"
|
||||
msgstr "Le message n'a pas pu être envoyé"
|
||||
|
||||
#: ../src/phone.c:2471
|
||||
#: ../src/phone.c:2586
|
||||
msgid "Wrong SIM PIN code"
|
||||
msgstr "Code SIM PIN erroné"
|
||||
|
||||
#: ../src/phone.c:2636
|
||||
msgid "Message deleted"
|
||||
msgstr "Message supprimé"
|
||||
|
||||
#: ../src/plugins/profiles.c:137 ../src/plugins/profiles.c:145
|
||||
msgid "Could not initialize PulseAudio"
|
||||
msgstr "Impossible d'initialiser PulseAudio"
|
||||
|
@ -708,6 +708,7 @@ int gsm_event(GSM * gsm, GSMEventType type, ...)
|
||||
event->status.status = va_arg(ap, GSMStatus);
|
||||
break;
|
||||
case GSM_EVENT_TYPE_UNKNOWN:
|
||||
event->unknown.command = va_arg(ap, char const *);
|
||||
event->unknown.result = va_arg(ap, char const *);
|
||||
break;
|
||||
}
|
||||
@ -1186,14 +1187,14 @@ static int _gsm_parse_line(GSM * gsm, char const * line, gboolean * answered)
|
||||
/* XXX look for a potential trigger */
|
||||
if(cmd != NULL && strncmp(cmd, "AT+", 3) == 0 && isupper((c = cmd[3])))
|
||||
{
|
||||
for(cmd += 2, j = 2; cmd[j] != '\0' && isupper((c = cmd[j]));
|
||||
for(j = 2; cmd[j + 2] != '\0' && isupper((c = cmd[j + 2]));
|
||||
j++);
|
||||
for(i = 0; _gsm_triggers[i].trigger != NULL; i++)
|
||||
if(strncmp(cmd, _gsm_triggers[i].trigger, j) == 0)
|
||||
if(strncmp(cmd + 2, _gsm_triggers[i].trigger, j) == 0)
|
||||
return _gsm_triggers[i].callback(gsm, line,
|
||||
answered);
|
||||
}
|
||||
return gsm_event(gsm, GSM_EVENT_TYPE_UNKNOWN, line);
|
||||
return gsm_event(gsm, GSM_EVENT_TYPE_UNKNOWN, cmd, line);
|
||||
}
|
||||
|
||||
|
||||
|
@ -63,6 +63,7 @@ typedef enum _GSMError
|
||||
GSM_ERROR_HANGUP_FAILED,
|
||||
GSM_ERROR_MESSAGE_DELETE_FAILED,
|
||||
GSM_ERROR_MESSAGE_FETCH_FAILED,
|
||||
GSM_ERROR_MESSAGE_INDICATIONS_FAILED,
|
||||
GSM_ERROR_MESSAGE_LIST_FAILED,
|
||||
GSM_ERROR_MESSAGE_SEND_FAILED,
|
||||
GSM_ERROR_MUTE_FAILED,
|
||||
@ -341,6 +342,7 @@ typedef union _GSMEvent
|
||||
struct
|
||||
{
|
||||
GSMEventType type;
|
||||
char const * command;
|
||||
char const * result;
|
||||
} unknown;
|
||||
} GSMEvent;
|
||||
|
@ -755,7 +755,8 @@ int gsm_modem_set_message_indications(GSMModem * gsmm, GSMMessageMode mode,
|
||||
}
|
||||
cmd[8] = mode + '0';
|
||||
cmd[10] = unsollicited ? '1' : '0';
|
||||
return (gsm_queue(gsmm->gsm, cmd) != NULL) ? 0 : 1;
|
||||
return gsm_queue_full(gsmm->gsm, GSM_PRIORITY_NORMAL, cmd,
|
||||
GSM_ERROR_MESSAGE_INDICATIONS_FAILED, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
22
src/phone.c
22
src/phone.c
@ -2422,7 +2422,8 @@ static int _gsm_event_message_deleted(Phone * phone, GSMEvent * event);
|
||||
static int _gsm_event_phone_activity(Phone * phone, GSMPhoneActivity activity);
|
||||
static void _on_sim_pin_valid_response(GtkWidget * widget, gint response,
|
||||
gpointer data);
|
||||
static int _gsm_event_unknown(Phone * phone, char const * result);
|
||||
static int _gsm_event_unknown(Phone * phone, char const * command,
|
||||
char const * result);
|
||||
|
||||
static int _phone_gsm_event(GSMEvent * event, gpointer data)
|
||||
{
|
||||
@ -2535,7 +2536,8 @@ static int _phone_gsm_event(GSMEvent * event, gpointer data)
|
||||
_phone_set_status(phone, event->status.status);
|
||||
return 0;
|
||||
case GSM_EVENT_TYPE_UNKNOWN:
|
||||
return _gsm_event_unknown(phone, event->unknown.result);
|
||||
return _gsm_event_unknown(phone, event->unknown.command,
|
||||
event->unknown.result);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@ -2561,6 +2563,10 @@ static int _gsm_event_error(Phone * phone, GSMEvent * event)
|
||||
case GSM_ERROR_FUNCTIONAL_FAILED:
|
||||
_phone_track(phone, PHONE_TRACK_FUNCTIONAL, TRUE);
|
||||
break;
|
||||
case GSM_ERROR_MESSAGE_INDICATIONS_FAILED:
|
||||
phone_error(phone, _("Could not request new message"
|
||||
" indications"), 0);
|
||||
break;
|
||||
case GSM_ERROR_MESSAGE_LIST_FAILED:
|
||||
_phone_track(phone, PHONE_TRACK_MESSAGE_LIST, TRUE);
|
||||
break;
|
||||
@ -2671,16 +2677,24 @@ static void _on_sim_pin_valid_response(GtkWidget * widget, gint response,
|
||||
gtk_widget_destroy(widget);
|
||||
}
|
||||
|
||||
static int _gsm_event_unknown(Phone * phone, char const * result)
|
||||
static int _gsm_event_unknown(Phone * phone, char const * command,
|
||||
char const * result)
|
||||
{
|
||||
int ret = 0;
|
||||
size_t i;
|
||||
PhoneTrigger * trigger;
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "DEBUG: %s(phone, \"%s\", \"%s\")\n", __func__, command,
|
||||
result);
|
||||
#endif
|
||||
for(i = 0; i < phone->triggers_cnt; i++)
|
||||
{
|
||||
trigger = &phone->triggers[i];
|
||||
if(strncmp(trigger->trigger, result, trigger->trigger_cnt) == 0)
|
||||
if(strncmp(trigger->trigger, result, trigger->trigger_cnt) == 0
|
||||
|| (strlen(command) > 2 && strncmp(
|
||||
trigger->trigger, &command[2],
|
||||
trigger->trigger_cnt) == 0))
|
||||
ret |= trigger->callback(trigger->plugin, result);
|
||||
}
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user