- Timestamp:
- 10/23/03 13:04:17 (5 years ago)
- Location:
- trunk/rms/src
- Files:
-
- 2 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/rms/src/rms.cpp
r3578 r3593 80 80 const unsigned short STATE_ENTERxURL = 6; 81 81 const unsigned short STATE_ENTERxAUTOxRESPONSE = 7; 82 const unsigned short STATE_ENTERxSMSxMESSAGE = 8; 83 const unsigned short STATE_ENTERxSMSxNUMBER = 9; 82 84 83 85 #define NEXT_WORD(s) while (*s != '\0' && *s == ' ') s++; … … 90 92 }; 91 93 92 static const unsigned short NUM_COMMANDS = 15; 93 static struct Command commands[NUM_COMMANDS] = 94 static struct Command commands[] = 94 95 { 95 96 { "ADDUSER", &CRMSClient::Process_ADDUSER, … … 122 123 "View event (next or specific user) { [ <uin> ] }." }, 123 124 { "URL", &CRMSClient::Process_URL, 124 "Send a url { <uin> }." } 125 "Send a url { <uin> }." }, 126 { "SMS", &CRMSClient::Process_SMS, 127 "Send an sms { <uin> }." }, 125 128 }; 126 129 130 static const unsigned short NUM_COMMANDS = sizeof(commands)/sizeof(*commands); 127 131 128 132 /*--------------------------------------------------------------------------- … … 563 567 return Process_URL_url(); 564 568 } 569 case STATE_ENTERxSMSxMESSAGE: 570 { 571 if (AddLineToText()) 572 return Process_SMS_message(); 573 break; 574 } 575 case STATE_ENTERxSMSxNUMBER: 576 { 577 return Process_SMS_number(); 578 } 565 579 case STATE_ENTERxAUTOxRESPONSE: 566 580 { … … 958 972 959 973 /*--------------------------------------------------------------------------- 974 * CRMSClient::Process_SMS 975 * 976 * Command: 977 * SMS <uin> 978 * 979 * Response: 980 * CODE_ENTERxLINE | CODE_INVALIDxUSER 981 * At which point the phone number should be entered on a line by itself 982 * without the "+", but including country code. Invalid user means the 983 * uin was invalid (< 10000) and the url was aborted. 984 * CODE_ENTERxTEXT 985 * Now the message should be entered and terminated by a "." on a line 986 * by itself. 987 * CODE_COMMANDxSTART 988 * < ...time... > 989 * CODE_RESULTxSUCCESS | CODE_EVENTxTIMEDOUT | CODE_EVENTxERROR 990 *-------------------------------------------------------------------------*/ 991 int CRMSClient::Process_SMS() 992 { 993 unsigned long nUin = strtoul(data_arg, (char**)NULL, 10); 994 995 if (nUin < 10000) 996 { 997 fprintf(fs, "%d Invalid UIN.\n", CODE_INVALIDxUSER); 998 return fflush(fs); 999 } 1000 fprintf(fs, "%d Enter NUMBER:\n", CODE_ENTERxLINE); 1001 1002 m_nUin = nUin; 1003 m_nTextPos = 0; 1004 1005 m_nState = STATE_ENTERxSMSxNUMBER; 1006 return fflush(fs); 1007 } 1008 1009 1010 int CRMSClient::Process_SMS_number() 1011 { 1012 strcpy(m_szLine, data_line); 1013 1014 fprintf(fs, "%d Enter message, terminate with a . on a line by itself:\n", 1015 CODE_ENTERxTEXT); 1016 1017 m_szText[0] = '\0'; 1018 m_nTextPos = 0; 1019 1020 m_nState = STATE_ENTERxSMSxMESSAGE; 1021 return fflush(fs); 1022 } 1023 1024 1025 int CRMSClient::Process_SMS_message() 1026 { 1027 unsigned long tag = licqDaemon->icqSendSms(m_szLine,m_szText,m_nUin); 1028 1029 fprintf(fs, "%d [%lu] Sending SMS to %lu (%s).\n", CODE_COMMANDxSTART, 1030 tag, m_nUin, m_szLine); 1031 1032 tags.push_back(tag); 1033 m_nState = STATE_COMMAND; 1034 1035 return fflush(fs); 1036 } 1037 1038 1039 /*--------------------------------------------------------------------------- 960 1040 * CRMSClient::Process_AR 961 1041 * -
trunk/rms/src/rms.h
r3576 r3593 76 76 int Process_MESSAGE(); 77 77 int Process_URL(); 78 int Process_SMS(); 78 79 int Process_LOG(); 79 80 int Process_VIEW(); … … 107 108 int Process_URL_url(); 108 109 int Process_URL_text(); 110 int Process_SMS_number(); 111 int Process_SMS_message(); 109 112 int Process_AR_text(); 110 113
