Found in "gnokii-working" directory, some November-patches version
[gnokii.git] / common / data / at-emulator.c
index 41445c8..3c2eb86 100644 (file)
@@ -6,12 +6,29 @@
 
   A Linux/Unix toolset and driver for Nokia mobile phones.
 
 
   A Linux/Unix toolset and driver for Nokia mobile phones.
 
+  Copyright (C) 1999, 2000 Hugh Blemings & Pavel Janík ml.
+
   Released under the terms of the GNU GPL, see file COPYING for more details.
 
   This file provides a virtual modem or "AT" interface to the GSM phone by
   calling code in gsm-api.c. Inspired by and in places copied from the Linux
   kernel AT Emulator IDSN code by Fritz Elfert and others.
   
   Released under the terms of the GNU GPL, see file COPYING for more details.
 
   This file provides a virtual modem or "AT" interface to the GSM phone by
   calling code in gsm-api.c. Inspired by and in places copied from the Linux
   kernel AT Emulator IDSN code by Fritz Elfert and others.
   
+  $Log$
+  Revision 1.1.1.5  2002/04/03 00:08:04  short
+  Found in "gnokii-working" directory, some November-patches version
+
+  Revision 1.5  2001/11/08 16:34:19  pkot
+  Updates to work with new libsms
+
+  Revision 1.4  2001/07/03 15:27:03  pkot
+  AT commands for SMS handling support (Tamas Bondar)
+  Small at-emulator code cleanup (me)
+
+  Revision 1.3  2001/02/21 19:56:59  chris
+  More fiddling with the directory layout
+
+
 */
 
 #define                __data_at_emulator_c
 */
 
 #define                __data_at_emulator_c
@@ -305,7 +322,7 @@ static GSM_Error ATEM_ReadSMS(int number, GSM_MemoryType type, GSM_SMSMessage *m
        GSM_Error error;
 
        message->MemoryType = type;
        GSM_Error error;
 
        message->MemoryType = type;
-       message->Location = number;
+       message->Number = number;
        error = GSM->GetSMSMessage(message);
 
        return error;
        error = GSM->GetSMSMessage(message);
 
        return error;
@@ -315,13 +332,14 @@ static void ATEM_PrintSMS(char *line, GSM_SMSMessage *message, int mode)
 {
        switch (mode) {
        case INTERACT_MODE:
 {
        switch (mode) {
        case INTERACT_MODE:
-               gsprintf(line, MAX_LINE_LENGTH, _("\n\rDate/time: %d/%d/%d %d:%02d:%02d Sender: %s Msg Center: %s\n\rText: %s\n\r"), message->Time.Day, message->Time.Month, message->Time.Year, message->Time.Hour, message->Time.Minute, message->Time.Second, message->Sender, message->MessageCenter.Number, message->MessageText);
+               gsprintf(line, MAX_LINE_LENGTH, _("\n\rDate/time: %d/%d/%d %d:%02d:%02d Sender: %s Msg Center: %s\n\rText: %s\n\r"), message->Time.Day, message->Time.Month, message->Time.Year, message->Time.Hour, message->Time.Minute, message->Time.Second, message->RemoteNumber.number, message->MessageCenter.Number, message->MessageText);
                break;
        case TEXT_MODE:
                break;
        case TEXT_MODE:
-               if (message->Coding==GSM_Coding_8bit)
-                       gsprintf(line, MAX_LINE_LENGTH, _("\"%s\",\"%s\",,\"%02d/%02d/%02d,%02d:%02d:%02d+%02d\"\n\r%s"), (message->Status ? _("REC READ") : _("REC UNREAD")), message->Sender, message->Time.Year, message->Time.Month, message->Time.Day, message->Time.Hour, message->Time.Minute, message->Time.Second, message->Time.Timezone, _("<Not implemented>"));
+               if ((message->DCS.Type == SMS_GeneralDataCoding) &&
+                   (message->DCS.u.General.Alphabet == SMS_8bit))
+                       gsprintf(line, MAX_LINE_LENGTH, _("\"%s\",\"%s\",,\"%02d/%02d/%02d,%02d:%02d:%02d+%02d\"\n\r%s"), (message->Status ? _("REC READ") : _("REC UNREAD")), message->RemoteNumber.number, message->Time.Year, message->Time.Month, message->Time.Day, message->Time.Hour, message->Time.Minute, message->Time.Second, message->Time.Timezone, _("<Not implemented>"));
                else
                else
-                       gsprintf(line, MAX_LINE_LENGTH, _("\"%s\",\"%s\",,\"%02d/%02d/%02d,%02d:%02d:%02d+%02d\"\n\r%s"), (message->Status ? _("REC READ") : _("REC UNREAD")), message->Sender, message->Time.Year, message->Time.Month, message->Time.Day, message->Time.Hour, message->Time.Minute, message->Time.Second, message->Time.Timezone, message->MessageText);
+                       gsprintf(line, MAX_LINE_LENGTH, _("\"%s\",\"%s\",,\"%02d/%02d/%02d,%02d:%02d:%02d+%02d\"\n\r%s"), (message->Status ? _("REC READ") : _("REC UNREAD")), message->RemoteNumber.number, message->Time.Year, message->Time.Month, message->Time.Day, message->Time.Hour, message->Time.Minute, message->Time.Second, message->Time.Timezone, message->MessageText);
                break;
        case PDU_MODE:
                gsprintf(line, MAX_LINE_LENGTH, _("<Not implemented>"));
                break;
        case PDU_MODE:
                gsprintf(line, MAX_LINE_LENGTH, _("<Not implemented>"));
@@ -336,7 +354,7 @@ static void ATEM_EraseSMS(int number, GSM_MemoryType type)
 {
        GSM_SMSMessage message;
        message.MemoryType = type;
 {
        GSM_SMSMessage message;
        message.MemoryType = type;
-       message.Location = number;
+       message.Number = number;
        if (GSM->DeleteSMSMessage(&message) == GE_NONE) {
                ATEM_ModemResult(MR_OK);
        } else {
        if (GSM->DeleteSMSMessage(&message) == GE_NONE) {
                ATEM_ModemResult(MR_OK);
        } else {
@@ -552,12 +570,12 @@ bool      ATEM_CommandPlusC(char **buf)
                                strcasecmp(*buf, "3") == 0 ||
                                strcasecmp(*buf, "\"REC READ\"") == 0 ||
                                strcasecmp(*buf, "\"STO SENT\"") == 0) {
                                strcasecmp(*buf, "3") == 0 ||
                                strcasecmp(*buf, "\"REC READ\"") == 0 ||
                                strcasecmp(*buf, "\"STO SENT\"") == 0) {
-                               status = GSS_SENTREAD;
+                               status = SMS_Sent;
                        } else if (strcasecmp(*buf, "0") == 0 ||
                                strcasecmp(*buf, "2") == 0 ||
                                strcasecmp(*buf, "\"REC UNREAD\"") == 0 ||
                                strcasecmp(*buf, "\"STO UNSENT\"") == 0) {
                        } else if (strcasecmp(*buf, "0") == 0 ||
                                strcasecmp(*buf, "2") == 0 ||
                                strcasecmp(*buf, "\"REC UNREAD\"") == 0 ||
                                strcasecmp(*buf, "\"STO UNSENT\"") == 0) {
-                               status = GSS_NOTSENTREAD;
+                               status = SMS_Unsent;
                        } else if (strcasecmp(*buf, "4") == 0 ||
                                strcasecmp(*buf, "\"ALL\"") == 0) {
                                status = 4; /* ALL */
                        } else if (strcasecmp(*buf, "4") == 0 ||
                                strcasecmp(*buf, "\"ALL\"") == 0) {
                                status = 4; /* ALL */