-rw-r--r-- | gammu/emb/common/gsmstate.h | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/gammu/emb/common/gsmstate.h b/gammu/emb/common/gsmstate.h index cb17623..2b4806c 100644 --- a/gammu/emb/common/gsmstate.h +++ b/gammu/emb/common/gsmstate.h | |||
@@ -5,18 +5,26 @@ | |||
5 | 5 | ||
6 | #include <time.h> | 6 | #include <time.h> |
7 | 7 | ||
8 | #include "config.h" | 8 | #include "config.h" |
9 | #include "misc/cfg.h" | 9 | #include "misc/cfg.h" |
10 | 10 | ||
11 | typedef struct _GSM_StateMachine GSM_StateMachine; | ||
12 | typedef struct _GSM_User GSM_User; | ||
13 | typedef struct _OnePhoneModel OnePhoneModel; | ||
14 | typedef struct _GSM_Reply_FunctionGSM_Reply_Function; | ||
15 | |||
11 | #ifdef GSM_ENABLE_NOKIA3320 | 16 | #ifdef GSM_ENABLE_NOKIA3320 |
12 | # include "phone/nokia/dct4/n3320.h" | 17 | # include "phone/nokia/dct4/n3320.h" |
13 | #endif | 18 | #endif |
14 | #ifdef GSM_ENABLE_NOKIA3650 | 19 | #ifdef GSM_ENABLE_NOKIA3650 |
15 | # include "phone/nokia/dct4/n3650.h" | 20 | # include "phone/nokia/dct4/n3650.h" |
16 | #endif | 21 | #endif |
22 | #ifdef GSM_ENABLE_NOKIA650 | ||
23 | # include "phone/nokia/dct3/n0650.h" | ||
24 | #endif | ||
17 | #ifdef GSM_ENABLE_NOKIA6110 | 25 | #ifdef GSM_ENABLE_NOKIA6110 |
18 | # include "phone/nokia/dct3/n6110.h" | 26 | # include "phone/nokia/dct3/n6110.h" |
19 | #endif | 27 | #endif |
20 | #ifdef GSM_ENABLE_NOKIA6510 | 28 | #ifdef GSM_ENABLE_NOKIA6510 |
21 | # include "phone/nokia/dct4/n6510.h" | 29 | # include "phone/nokia/dct4/n6510.h" |
22 | #endif | 30 | #endif |
@@ -91,13 +99,13 @@ | |||
91 | # undef GSM_ENABLE_IRDAAT | 99 | # undef GSM_ENABLE_IRDAAT |
92 | #endif | 100 | #endif |
93 | #ifndef GSM_USED_MROUTERBLUE | 101 | #ifndef GSM_USED_MROUTERBLUE |
94 | # undef GSM_ENABLE_MROUTERBLUE | 102 | # undef GSM_ENABLE_MROUTERBLUE |
95 | #endif | 103 | #endif |
96 | 104 | ||
97 | #if defined(GSM_ENABLE_NOKIA3320) || defined(GSM_ENABLE_NOKIA6110) || defined(GSM_ENABLE_NOKIA7110) || defined(GSM_ENABLE_NOKIA9210) | 105 | #if defined(GSM_ENABLE_NOKIA3320) || defined(GSM_ENABLE_NOKIA650) || defined(GSM_ENABLE_NOKIA6110) || defined(GSM_ENABLE_NOKIA7110) || defined(GSM_ENABLE_NOKIA9210) |
98 | # define GSM_ENABLE_NOKIA_DCT3 | 106 | # define GSM_ENABLE_NOKIA_DCT3 |
99 | #endif | 107 | #endif |
100 | #if defined(GSM_ENABLE_NOKIA3650) || defined(GSM_ENABLE_NOKIA6510) | 108 | #if defined(GSM_ENABLE_NOKIA3650) || defined(GSM_ENABLE_NOKIA6510) |
101 | # define GSM_ENABLE_NOKIA_DCT4 | 109 | # define GSM_ENABLE_NOKIA_DCT4 |
102 | #endif | 110 | #endif |
103 | 111 | ||
@@ -196,15 +204,12 @@ | |||
196 | #include "service/gsmcall.h" | 204 | #include "service/gsmcall.h" |
197 | #include "service/sms/gsmsms.h" | 205 | #include "service/sms/gsmsms.h" |
198 | #include "service/sms/gsmems.h" | 206 | #include "service/sms/gsmems.h" |
199 | #include "service/sms/gsmmulti.h" | 207 | #include "service/sms/gsmmulti.h" |
200 | #include "service/backup/gsmback.h" | 208 | #include "service/backup/gsmback.h" |
201 | 209 | ||
202 | typedef struct _GSM_StateMachine GSM_StateMachine; | ||
203 | typedef struct _GSM_User GSM_User; | ||
204 | typedef struct _OnePhoneModel OnePhoneModel; | ||
205 | 210 | ||
206 | /* ------------------------- Device layer ---------------------------------- */ | 211 | /* ------------------------- Device layer ---------------------------------- */ |
207 | 212 | ||
208 | /** | 213 | /** |
209 | * Device functions, each device has to provide these. | 214 | * Device functions, each device has to provide these. |
210 | */ | 215 | */ |
@@ -368,12 +373,14 @@ typedef enum { | |||
368 | ID_GetMemoryStatus, | 373 | ID_GetMemoryStatus, |
369 | ID_GetSMSC, | 374 | ID_GetSMSC, |
370 | ID_GetSMSMessage, | 375 | ID_GetSMSMessage, |
371 | ID_EnableEcho, | 376 | ID_EnableEcho, |
372 | ID_EnableErrorInfo, | 377 | ID_EnableErrorInfo, |
373 | ID_SetOBEX, | 378 | ID_SetOBEX, |
379 | ID_SetUSSD, | ||
380 | ID_GetNote, | ||
374 | ID_GetSignalQuality, | 381 | ID_GetSignalQuality, |
375 | ID_GetBatteryCharge, | 382 | ID_GetBatteryCharge, |
376 | ID_GetSMSFolders, | 383 | ID_GetSMSFolders, |
377 | ID_GetSMSFolderStatus, | 384 | ID_GetSMSFolderStatus, |
378 | ID_GetSMSStatus, | 385 | ID_GetSMSStatus, |
379 | ID_AddSMSFolder, | 386 | ID_AddSMSFolder, |
@@ -435,12 +442,13 @@ typedef enum { | |||
435 | ID_SetMemoryCharset, | 442 | ID_SetMemoryCharset, |
436 | ID_GetMMSSettings, | 443 | ID_GetMMSSettings, |
437 | ID_SetSMSParameters, | 444 | ID_SetSMSParameters, |
438 | ID_GetFMStation, | 445 | ID_GetFMStation, |
439 | ID_SetFMStation, | 446 | ID_SetFMStation, |
440 | ID_GetLanguage, | 447 | ID_GetLanguage, |
448 | ID_SetFastSMSSending, | ||
441 | ID_Reset, | 449 | ID_Reset, |
442 | ID_GetToDo, | 450 | ID_GetToDo, |
443 | ID_PressKey, | 451 | ID_PressKey, |
444 | ID_DeleteAllToDo, | 452 | ID_DeleteAllToDo, |
445 | ID_SetLight, | 453 | ID_SetLight, |
446 | ID_Divert, | 454 | ID_Divert, |
@@ -666,12 +674,13 @@ typedef struct { | |||
666 | */ | 674 | */ |
667 | GSM_MultiCallDivert*Divert; | 675 | GSM_MultiCallDivert*Divert; |
668 | /** | 676 | /** |
669 | * Pointer to structure used internally by phone drivers. | 677 | * Pointer to structure used internally by phone drivers. |
670 | */ | 678 | */ |
671 | GSM_ToDoEntry *ToDo; | 679 | GSM_ToDoEntry *ToDo; |
680 | GSM_NoteEntry *Note; | ||
672 | /** | 681 | /** |
673 | * Used internally by phone drivers. | 682 | * Used internally by phone drivers. |
674 | */ | 683 | */ |
675 | bool PressKey; | 684 | bool PressKey; |
676 | /** | 685 | /** |
677 | * Pointer to structure used internally by phone drivers. | 686 | * Pointer to structure used internally by phone drivers. |
@@ -767,12 +776,15 @@ typedef struct { | |||
767 | #ifdef GSM_ENABLE_NOKIA3320 | 776 | #ifdef GSM_ENABLE_NOKIA3320 |
768 | GSM_Phone_N3320Data N3320; | 777 | GSM_Phone_N3320Data N3320; |
769 | #endif | 778 | #endif |
770 | #ifdef GSM_ENABLE_NOKIA3650 | 779 | #ifdef GSM_ENABLE_NOKIA3650 |
771 | GSM_Phone_N3650Data N3650; | 780 | GSM_Phone_N3650Data N3650; |
772 | #endif | 781 | #endif |
782 | #ifdef GSM_ENABLE_NOKIA650 | ||
783 | GSM_Phone_N650Data N650; | ||
784 | #endif | ||
773 | #ifdef GSM_ENABLE_NOKIA6110 | 785 | #ifdef GSM_ENABLE_NOKIA6110 |
774 | GSM_Phone_N6110Data N6110; | 786 | GSM_Phone_N6110Data N6110; |
775 | #endif | 787 | #endif |
776 | #ifdef GSM_ENABLE_NOKIA6510 | 788 | #ifdef GSM_ENABLE_NOKIA6510 |
777 | GSM_Phone_N6510Data N6510; | 789 | GSM_Phone_N6510Data N6510; |
778 | #endif | 790 | #endif |
@@ -801,13 +813,13 @@ typedef struct { | |||
801 | * ID_IncomingFrame and msgtype matches start message and (if msgtype is just | 813 | * ID_IncomingFrame and msgtype matches start message and (if msgtype is just |
802 | * one character) subtypechar is zero or subtypechar-th character of message | 814 | * one character) subtypechar is zero or subtypechar-th character of message |
803 | * matches subtype. | 815 | * matches subtype. |
804 | * | 816 | * |
805 | * Should be used in array with last element containing ID_None as requestID. | 817 | * Should be used in array with last element containing ID_None as requestID. |
806 | */ | 818 | */ |
807 | typedef struct { | 819 | struct _GSM_Reply_Function { |
808 | /** | 820 | /** |
809 | * Pointer to function that should be executed. | 821 | * Pointer to function that should be executed. |
810 | */ | 822 | */ |
811 | GSM_Error (*Function)(GSM_Protocol_Message msg, GSM_StateMachine *s); | 823 | GSM_Error (*Function)(GSM_Protocol_Message msg, GSM_StateMachine *s); |
812 | /** | 824 | /** |
813 | * Message type, if it is longer than 1 character, it disables subtype | 825 | * Message type, if it is longer than 1 character, it disables subtype |
@@ -825,13 +837,13 @@ typedef struct { | |||
825 | unsigned char subtype; | 837 | unsigned char subtype; |
826 | /** | 838 | /** |
827 | * Phone request when this can be called, use ID_IncomingFrame when | 839 | * Phone request when this can be called, use ID_IncomingFrame when |
828 | * you want to use this in any state. | 840 | * you want to use this in any state. |
829 | */ | 841 | */ |
830 | GSM_Phone_RequestIDrequestID; | 842 | GSM_Phone_RequestIDrequestID; |
831 | } GSM_Reply_Function; | 843 | }; |
832 | 844 | ||
833 | /** | 845 | /** |
834 | * Structure defining phone functions. | 846 | * Structure defining phone functions. |
835 | */ | 847 | */ |
836 | typedef struct { | 848 | typedef struct { |
837 | /** | 849 | /** |
@@ -1056,12 +1068,13 @@ typedef struct { | |||
1056 | */ | 1068 | */ |
1057 | GSM_Error (*SendSMS) (GSM_StateMachine *s, GSM_SMSMessage *sms); | 1069 | GSM_Error (*SendSMS) (GSM_StateMachine *s, GSM_SMSMessage *sms); |
1058 | /** | 1070 | /** |
1059 | * Sends SMS already saved in phone. | 1071 | * Sends SMS already saved in phone. |
1060 | */ | 1072 | */ |
1061 | GSM_Error (*SendSavedSMS)(GSM_StateMachine *s, int Folder, int Location); | 1073 | GSM_Error (*SendSavedSMS)(GSM_StateMachine *s, int Folder, int Location); |
1074 | GSM_Error (*SetFastSMSSending) (GSM_StateMachine *s, bool enable); | ||
1062 | /** | 1075 | /** |
1063 | * Enable/disable notification on incoming SMS. | 1076 | * Enable/disable notification on incoming SMS. |
1064 | */ | 1077 | */ |
1065 | GSM_Error (*SetIncomingSMS) (GSM_StateMachine *s, bool enable); | 1078 | GSM_Error (*SetIncomingSMS) (GSM_StateMachine *s, bool enable); |
1066 | /** | 1079 | /** |
1067 | * Gets network information from phone. | 1080 | * Gets network information from phone. |
@@ -1276,13 +1289,13 @@ typedef struct { | |||
1276 | * Sets calendar settings. | 1289 | * Sets calendar settings. |
1277 | */ | 1290 | */ |
1278 | GSM_Error (*SetCalendarSettings)(GSM_StateMachine *s, GSM_CalendarSettings *settings); | 1291 | GSM_Error (*SetCalendarSettings)(GSM_StateMachine *s, GSM_CalendarSettings *settings); |
1279 | /** | 1292 | /** |
1280 | * Gets note. | 1293 | * Gets note. |
1281 | */ | 1294 | */ |
1282 | GSM_Error (*GetNote) (GSM_StateMachine *s, GSM_NoteEntry *Note, bool refresh); | 1295 | GSM_Error (*GetNextNote)(GSM_StateMachine *s, GSM_NoteEntry *Note, bool refresh); |
1283 | /** | 1296 | /** |
1284 | * Reads profile. | 1297 | * Reads profile. |
1285 | */ | 1298 | */ |
1286 | GSM_Error (*GetProfile) (GSM_StateMachine *s, GSM_Profile *Profile); | 1299 | GSM_Error (*GetProfile) (GSM_StateMachine *s, GSM_Profile *Profile); |
1287 | /** | 1300 | /** |
1288 | * Updates profile. | 1301 | * Updates profile. |
@@ -1341,12 +1354,15 @@ typedef struct { | |||
1341 | #ifdef GSM_ENABLE_NOKIA3650 | 1354 | #ifdef GSM_ENABLE_NOKIA3650 |
1342 | extern GSM_Phone_Functions N3650Phone; | 1355 | extern GSM_Phone_Functions N3650Phone; |
1343 | #endif | 1356 | #endif |
1344 | #ifdef GSM_ENABLE_NOKIA6110 | 1357 | #ifdef GSM_ENABLE_NOKIA6110 |
1345 | extern GSM_Phone_Functions N6110Phone; | 1358 | extern GSM_Phone_Functions N6110Phone; |
1346 | #endif | 1359 | #endif |
1360 | #ifdef GSM_ENABLE_NOKIA650 | ||
1361 | extern GSM_Phone_Functions N650Phone; | ||
1362 | #endif | ||
1347 | #ifdef GSM_ENABLE_NOKIA6510 | 1363 | #ifdef GSM_ENABLE_NOKIA6510 |
1348 | extern GSM_Phone_Functions N6510Phone; | 1364 | extern GSM_Phone_Functions N6510Phone; |
1349 | #endif | 1365 | #endif |
1350 | #ifdef GSM_ENABLE_NOKIA7110 | 1366 | #ifdef GSM_ENABLE_NOKIA7110 |
1351 | extern GSM_Phone_Functions N7110Phone; | 1367 | extern GSM_Phone_Functions N7110Phone; |
1352 | #endif | 1368 | #endif |
@@ -1520,12 +1536,13 @@ typedef enum { | |||
1520 | F_CAL65, /* Calendar,6510 style - CBMM, method 3 */ | 1536 | F_CAL65, /* Calendar,6510 style - CBMM, method 3 */ |
1521 | F_WAPMMSPROXY, /* WAP & MMS settings contains first & second proxy */ | 1537 | F_WAPMMSPROXY, /* WAP & MMS settings contains first & second proxy */ |
1522 | 1538 | ||
1523 | /* n6510.c && n7110.c */ | 1539 | /* n6510.c && n7110.c */ |
1524 | F_VOICETAGS, /* Voice tags available */ | 1540 | F_VOICETAGS, /* Voice tags available */ |
1525 | F_CAL62, /* Calendar,6210 style - Call,Birthday,Memo,Meeting */ | 1541 | F_CAL62, /* Calendar,6210 style - Call,Birthday,Memo,Meeting */ |
1542 | F_NOTES, | ||
1526 | 1543 | ||
1527 | /* AT modules */ | 1544 | /* AT modules */ |
1528 | F_SMSONLYSENT, /* Phone supports only sent/unsent messages */ | 1545 | F_SMSONLYSENT, /* Phone supports only sent/unsent messages */ |
1529 | F_BROKENCPBS, /* CPBS on some memories can hang phone */ | 1546 | F_BROKENCPBS, /* CPBS on some memories can hang phone */ |
1530 | F_M20SMS, /* Siemens M20 like SMS handling */ | 1547 | F_M20SMS, /* Siemens M20 like SMS handling */ |
1531 | F_SLOWWRITE, /* Use slower writing which some phone need */ | 1548 | F_SLOWWRITE, /* Use slower writing which some phone need */ |