|
1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // This file has the class definitions and scripts for the "Unsolicited Messages" Test in |
|
15 // the ETel Regression test harness. |
|
16 // The call scripts are processed and handled by the emulator side of the test via the |
|
17 // scripting engine. Each line in the script represents an action that the emulator must |
|
18 // take, either a receive action (which defines an expected string) or a transmit action with the |
|
19 // ASCII data to be sent. See the description of the scripting language for more information. |
|
20 // |
|
21 // |
|
22 |
|
23 /** |
|
24 @file |
|
25 @internalComponent |
|
26 */ |
|
27 |
|
28 #ifndef __CUNSOLICITED__H__ |
|
29 #define __CUNSOLICITED__H__ |
|
30 |
|
31 #include "Te_LoopbackTestStepBase.h" |
|
32 #include "Te_LoopBackScriptEng.h" |
|
33 |
|
34 // |
|
35 // First a Script where everything is in order |
|
36 // |
|
37 const struct TScript KCUnsolicitedScript[]= { |
|
38 |
|
39 //******************************************************************* |
|
40 // Injecting Unsolicited messages into every query-response state |
|
41 // +CMT: and +CMTI: SMS messages should be silenced by AT+CNMI=0,0 |
|
42 //******************************************************************* |
|
43 |
|
44 // Start of initialization sequence ********************************************** |
|
45 { ERxString, (TText8*)"AT\r", 0, ERxEvent }, |
|
46 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
47 /**/{ ETxString, (TText8*)"+CRING: SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
48 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
49 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
50 /**/{ ETxString, (TText8*)"+CRING: VOICE/ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
51 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
52 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
53 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
54 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
55 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
56 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
57 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
58 { EIfRxStringRelativeJmp, (TText8*)"AT\r", -1, 0 }, |
|
59 { ERxString, (TText8*)"AT+FCLASS=?", 0, ERxEvent }, |
|
60 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
61 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
62 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
63 { ETxString, (TText8*)"0,1,2\r", 0, ETxEvent|EFailIfTimeOut }, |
|
64 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
65 { ERxString, (TText8*)"AT", 0, ERxEvent }, |
|
66 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
67 { ERxString, (TText8*)"AT+CNMI=,0", 0, ERxEvent }, |
|
68 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
69 { ERxString, (TText8*)"ATS7?", 0, ERxEvent }, |
|
70 /**/{ ETxString, (TText8*)"+CREG: 2,4\r", 0, ETxEvent|EFailIfTimeOut }, |
|
71 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
72 /**/{ ETxString, (TText8*)"+CRING: SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
73 /**/{ ETxString, (TText8*)"+CRING: ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
74 /**/{ ETxString, (TText8*)"+CRING: REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
75 /**/{ ETxString, (TText8*)"+CRING: REL ANYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
76 /**/{ ETxString, (TText8*)"+CRING: VOICE/ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
77 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
78 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
79 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
80 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
81 /**/{ ETxString, (TText8*)"+CREG: 4,4\r", 0, ETxEvent|EFailIfTimeOut }, |
|
82 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
83 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
84 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
85 { ETxString, (TText8*)"050\r", 0, ETxEvent|EFailIfTimeOut }, |
|
86 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
87 { ERxString, (TText8*)"ATS0=0", 0, ERxEvent }, |
|
88 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
89 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
90 { ERxString, (TText8*)"AT+CGMI", 0, ERxEvent }, |
|
91 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
92 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
93 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
94 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
95 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
96 { ETxString, (TText8*)"ERICSSON\r", 0, ETxEvent|EFailIfTimeOut }, |
|
97 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
98 { ERxString, (TText8*)"AT+CGMM", 0, ERxEvent }, |
|
99 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
100 { ETxString, (TText8*)"1100801\r", 0, ETxEvent|EFailIfTimeOut }, |
|
101 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
102 { ERxString, (TText8*)"AT+CGMR", 0, ERxEvent }, |
|
103 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
104 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
105 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
106 /**/{ ETxString, (TText8*)"+CREG: 4,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
107 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
108 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
109 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
110 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
111 { ETxString, (TText8*)"9808261341\r", 0, ETxEvent|EFailIfTimeOut }, |
|
112 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
113 { ERxString, (TText8*)"AT+CGSN", 0, ERxEvent }, |
|
114 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
115 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
116 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
117 { ETxString, (TText8*)"520002512954000\r", 0, ETxEvent|EFailIfTimeOut }, |
|
118 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
119 { ERxString, (TText8*)"AT+CIMI", 0, ERxEvent }, |
|
120 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
121 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
122 { ERxString, (TText8*)"AT+CMGF=?", 0, ERxEvent }, |
|
123 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
124 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
125 { ERxString, (TText8*)"AT", 0, ERxEvent }, |
|
126 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
127 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
128 /**/{ ETxString, (TText8*)"+CREG: 2,4\r", 0, ETxEvent|EFailIfTimeOut }, |
|
129 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
130 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
131 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
132 { ERxString, (TText8*)"AT+CPMS=?", 0, ERxEvent }, |
|
133 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
134 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
135 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
136 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
137 { ETxString, (TText8*)"+CPMS: (\"ME\",\"SM\"),(\"ME\",\"SM\")\r", 0, ETxEvent|EFailIfTimeOut }, |
|
138 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
139 { ERxString, (TText8*)"AT+CPMS?", 0, ERxEvent }, |
|
140 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
141 { ETxString, (TText8*)"+CPMS: \"SM\",0,15,\"SM\",0,15\r", 0, ETxEvent|EFailIfTimeOut }, |
|
142 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
143 { ERxString, (TText8*)"AT+CPBS=?", 0, ERxEvent }, |
|
144 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
145 { ETxString, (TText8*)"+CPBS: (\"ME\",\"SM\")\r", 0, ETxEvent|EFailIfTimeOut }, |
|
146 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
147 { ERxString, (TText8*)"AT+CREG=0", 0, ERxEvent }, |
|
148 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
149 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
150 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
151 { ERxString, (TText8*)"AT+CREG=2", 0, ERxEvent }, |
|
152 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
153 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
154 { ERxString, (TText8*)"AT+CREG=1", 0, ERxEvent }, |
|
155 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
156 /**/{ ETxString, (TText8*)"+CREG: 2,0\r", 0, ETxEvent|EFailIfTimeOut }, |
|
157 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
158 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
159 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
160 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
161 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
162 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
163 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
164 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
165 { ERxString, (TText8*)"AT+CREG?", 0, ERxEvent }, |
|
166 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
167 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
168 { ERxString, (TText8*)"AT+CRC=1", 0, ERxEvent }, |
|
169 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
170 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
171 { ERxString, (TText8*)"AT+COPS?", 0, ERxEvent }, |
|
172 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
173 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
174 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
175 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
176 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
177 { ETxString, (TText8*)"+COPS: 0,0,\"UK VODAFONE\"\r", 0, ETxEvent|EFailIfTimeOut }, |
|
178 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
179 { ERxString, (TText8*)"AT+CBC", 0, ERxEvent }, |
|
180 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
181 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
182 /**/{ ETxString, (TText8*)"+CREG: 0,0\r", 0, ETxEvent|EFailIfTimeOut }, |
|
183 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
184 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
185 { ERxString, (TText8*)"AT+CSQ", 0, ERxEvent }, |
|
186 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
187 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
188 { ERxString, (TText8*)"AT+CGCLASS", 0, ERxEvent }, |
|
189 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
190 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
191 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
192 { ERxString, (TText8*)"AT+CGCLASS", 0, ERxEvent }, |
|
193 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
194 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
195 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
196 { ERxString, (TText8*)"AT+CGQREQ", 0, ERxEvent }, |
|
197 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
198 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
199 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
200 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
201 /**/{ ETxString, (TText8*)"+CREG: 1,1\r", 0, ETxEvent|EFailIfTimeOut }, |
|
202 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
203 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
204 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
205 { ERxString, (TText8*)"AT+CGATT", 0, ERxEvent }, |
|
206 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
207 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
208 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
209 { ERxString, (TText8*)"AT+CNMI=?", 0, ERxEvent }, |
|
210 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
211 { ETxString, (TText8*)"+CNMI: (0-2),(0,1,3),(0),(0),(0,1)\r", 0, ETxEvent|EFailIfTimeOut }, |
|
212 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
213 { ERxString, (TText8*)"AT+CBST=?", 0, ERxEvent }, |
|
214 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
215 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
216 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
217 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
218 { ERxString, (TText8*)"AT+CSCA?", 0, ERxEvent }, |
|
219 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
220 |
|
221 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
222 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
223 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
224 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
225 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
226 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
227 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
228 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
229 { ETxString, (TText8*)"+CSCA: \"441632960000\",145", 0, ETxEvent|EFailIfTimeOut }, |
|
230 { ETxStringOK, NULL, 0, ETxEvent|EFailIfTimeOut }, |
|
231 { ERxString, (TText8*)"AT+CGREG=1", 0, ERxEvent }, |
|
232 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
233 /**/{ ETxString, (TText8*)"+CREG: 1,5\r", 0, ETxEvent|EFailIfTimeOut }, |
|
234 /**/{ ETxString, (TText8*)"+CRING: FAX\r", 0, ETxEvent|EFailIfTimeOut }, |
|
235 /**/{ ETxString, (TText8*)"+CRING: VOICE/REL SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
236 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
237 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
238 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
239 /**/{ ETxString, (TText8*)"+CRING: VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
240 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
241 { ERxString, (TText8*)"AT*ECAM=1", 0, ERxEvent }, |
|
242 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/REL ASYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
243 /**/{ ETxString, (TText8*)"+CRING: ALT REL ASYNC/VOICE\r", 0, ETxEvent|EFailIfTimeOut }, |
|
244 /**/{ ETxString, (TText8*)"+CRING: ALT VOICE/SYNC\r", 0, ETxEvent|EFailIfTimeOut }, |
|
245 /**/{ ETxString, (TText8*)"+CREG: 2,3\r", 0, ETxEvent|EFailIfTimeOut }, |
|
246 { ETxString, (TText8*)"ERROR\r", 0, ETxEvent|EFailIfTimeOut }, |
|
247 // End of initialization sequence ************************************************ |
|
248 { EWait, NULL, 2, ETimeOutEvent}, |
|
249 { EComplete, NULL, 0, 0 }, |
|
250 }; |
|
251 |
|
252 /** |
|
253 * This class is used by the client side of the test. It contains the method DriveETelApi |
|
254 * which is the primary client side method. This class inherits from the CTestBase class. |
|
255 * All client side test classes must contain these entries. |
|
256 */ |
|
257 class CTestDriveUnsolicited : public CTestBase |
|
258 { |
|
259 public: |
|
260 static CTestDriveUnsolicited* NewL(const TScriptList aScriptListEntry, |
|
261 TInt aVarDelay=0); |
|
262 |
|
263 // Called by the user interface from the C function PerformTestL. |
|
264 virtual TInt RunTestL(); |
|
265 |
|
266 protected: |
|
267 // Called by the CTestBase::StartEmulator method to drive the ETel API. |
|
268 virtual TInt DriveETelApiL(); |
|
269 |
|
270 private: |
|
271 CTestDriveUnsolicited(const TScriptList aScriptListEntry, TInt aVarDelay); |
|
272 void DriveTestL() ; |
|
273 |
|
274 TScriptList iScriptListEntry; //< Initialized by the constructor, it records the enumerated |
|
275 //< script entry number. |
|
276 TInt iVarDelay; //< Variable delay value to be used as the timeout by the |
|
277 //< ...script processing when the iParam value is set -1 in |
|
278 //< ...a TScript script whose iCommand is an EWait. |
|
279 RMobilePhone iPhone3; |
|
280 }; |
|
281 |
|
282 /** |
|
283 * This class is used by the emulator side of the test. It implements several virtual functions |
|
284 * which are test specific and referenced by other classes. This class inherits from the |
|
285 * CATScriptEng class. All Emulator side test classes should have this structure. |
|
286 */ |
|
287 class CTestUnsolicited : public CATScriptEng |
|
288 { |
|
289 public: |
|
290 static CTestUnsolicited* NewL(const TScript* aScript); |
|
291 static CTestUnsolicited* NewL(const TScript* aScript, const TInt aVarDelay); |
|
292 |
|
293 // Called by the scripting engine to implement the EExecuteSpecial Command. |
|
294 virtual void SpecificAlgorithmL(TInt aParam); |
|
295 |
|
296 // Called by the scripting engine to end the execution of the script. |
|
297 virtual void Complete(TInt aError); |
|
298 |
|
299 // Called by the scripting engine to start the execution of the script. |
|
300 virtual TInt Start(); |
|
301 |
|
302 private: |
|
303 CTestUnsolicited(const TScript* aScript); |
|
304 CTestUnsolicited(const TScript* aScript, const TInt aVarDelay); |
|
305 void ConstructL(); |
|
306 |
|
307 const TScript* iScript; //< Pointer to the first line in the associated script. |
|
308 }; |
|
309 |
|
310 #endif //__CUNSOLICITED__H__ |
|
311 |