4 * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Ja-young Gu <jygu@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
24 #include <tapi_common.h>
25 #include <ITapiNetwork.h>
26 #include <TapiUtility.h>
28 #include "util_common.h"
31 enum async_state async_flag;
34 * tel_select_network_manual
37 static void on_tel_select_network_manual (TapiHandle *handle, int result,
38 void *data, void *user_data)
40 int *value = user_data;
42 async_flag = ASYNC_DONE;
45 if (*value != 0xC0FFEE) {
46 dts_fail("tel_select_network_manual", "Callback userdata crashed");
50 static void utc_tel_select_network_manual (void)
57 async_flag = ASYNC_READY;
58 ret = tel_select_network_manual (handle, "45001", TAPI_NETWORK_SYSTEM_LTE,
59 on_tel_select_network_manual, &value);
60 if (ret != TAPI_API_SUCCESS) {
61 dts_fail("tel_select_network_manual", "Unexpected return");
67 if (async_flag != ASYNC_DONE) {
68 dts_fail("tel_select_network_manual", "Callback not invoked");
71 dts_pass("tel_select_network_manual");
74 static void utc_fail_tel_select_network_manual (void)
78 ret = tel_select_network_manual (NULL, NULL, 0, NULL, NULL);
79 if (ret == TAPI_API_SUCCESS) {
80 dts_fail("tel_select_network_manual", "Parameter check failed");
83 ret = tel_select_network_manual (handle, NULL, 0, NULL, NULL);
84 if (ret == TAPI_API_SUCCESS) {
85 dts_fail("tel_select_network_manual", "Parameter check failed");
88 dts_pass("tel_select_network_manual");
92 * tel_set_network_band
95 static void on_tel_set_network_band (TapiHandle *handle, int result, void *data,
98 int *value = user_data;
100 async_flag = ASYNC_DONE;
103 if (*value != 0xC0FFEE) {
104 dts_fail("tel_set_network_band", "Callback userdata crashed");
108 static void utc_tel_set_network_band (void)
111 int value = 0xC0FFEE;
115 async_flag = ASYNC_READY;
116 ret = tel_set_network_band (handle, TAPI_NETWORK_BAND_MODE_ONLY,
117 TAPI_NETWORK_BAND_TYPE_ANY, on_tel_set_network_band, &value);
118 if (ret != TAPI_API_SUCCESS) {
119 dts_fail("tel_set_network_band", "Unexpected return");
125 if (async_flag != ASYNC_DONE) {
126 dts_fail("tel_set_network_band", "Callback not invoked");
129 dts_pass("tel_set_network_band");
132 static void utc_fail_tel_set_network_band (void)
136 ret = tel_set_network_band (NULL, 0, 0, NULL, NULL);
137 if (ret == TAPI_API_SUCCESS) {
138 dts_fail("tel_set_network_band", "Parameter check failed");
141 dts_pass("tel_set_network_band");
145 * tel_set_network_mode
148 static void on_tel_set_network_mode (TapiHandle *handle, int result, void *data,
151 int *value = user_data;
153 async_flag = ASYNC_DONE;
156 if (*value != 0xC0FFEE) {
157 dts_fail("tel_set_network_mode", "Callback userdata crashed");
161 static void utc_tel_set_network_mode (void)
164 int value = 0xC0FFEE;
168 async_flag = ASYNC_READY;
169 ret = tel_set_network_mode (handle, TAPI_NETWORK_MODE_AUTO,
170 on_tel_set_network_mode, &value);
171 if (ret != TAPI_API_SUCCESS) {
172 dts_fail("tel_set_network_mode", "Unexpected return");
178 if (async_flag != ASYNC_DONE) {
179 dts_fail("tel_set_network_mode", "Callback not invoked");
182 dts_pass("tel_set_network_mode");
185 static void utc_fail_tel_set_network_mode (void)
189 ret = tel_set_network_mode (NULL, 0, NULL, NULL);
190 if (ret == TAPI_API_SUCCESS) {
191 dts_fail("tel_set_network_mode", "Parameter check failed");
194 dts_pass("tel_set_network_mode");
198 * tel_set_network_preferred_plmn
201 static void on_tel_set_network_preferred_plmn (TapiHandle *handle, int result,
202 void *data, void *user_data)
204 int *value = user_data;
206 async_flag = ASYNC_DONE;
209 if (*value != 0xC0FFEE) {
210 dts_fail("tel_set_network_preferred_plmn", "Callback userdata crashed");
214 static void utc_tel_set_network_preferred_plmn (void)
217 int value = 0xC0FFEE;
218 TelNetworkPreferredPlmnInfo_t info;
220 memset (&info, 0, sizeof(TelNetworkPreferredPlmnInfo_t));
221 info.SystemType = TAPI_NETWORK_SYSTEM_GSM;
223 strncpy (info.Plmn, TAPI_NETWORK_PLMN_LEN_MAX, "45001");
227 async_flag = ASYNC_READY;
228 ret = tel_set_network_preferred_plmn (handle, TAPI_NETWORK_PREF_PLMN_ADD,
229 &info, on_tel_set_network_preferred_plmn, &value);
230 if (ret != TAPI_API_SUCCESS) {
231 dts_fail("tel_set_network_preferred_plmn", "Unexpected return");
237 if (async_flag != ASYNC_DONE) {
238 dts_fail("tel_set_network_preferred_plmn", "Callback not invoked");
241 dts_pass("tel_set_network_preferred_plmn");
244 static void utc_fail_tel_set_network_preferred_plmn (void)
248 ret = tel_set_network_preferred_plmn (NULL, 0, NULL, NULL, NULL);
249 if (ret == TAPI_API_SUCCESS) {
250 dts_fail("tel_set_network_preferred_plmn", "Parameter check failed");
253 dts_pass("tel_set_network_preferred_plmn");
257 * tel_set_network_service_domain
260 static void on_tel_set_network_service_domain (TapiHandle *handle, int result,
261 void *data, void *user_data)
263 int *value = user_data;
265 async_flag = ASYNC_DONE;
268 if (*value != 0xC0FFEE) {
269 dts_fail("tel_set_network_service_domain", "Callback userdata crashed");
273 static void utc_tel_set_network_service_domain (void)
276 int value = 0xC0FFEE;
280 async_flag = ASYNC_READY;
281 ret = tel_set_network_service_domain (handle,
282 TAPI_NETWORK_SERVICE_DOMAIN_COMBINED,
283 on_tel_set_network_service_domain, &value);
284 if (ret != TAPI_API_SUCCESS) {
285 dts_fail("tel_set_network_service_domain", "Unexpected return");
291 if (async_flag != ASYNC_DONE) {
292 dts_fail("tel_set_network_service_domain", "Callback not invoked");
295 dts_pass("tel_set_network_service_domain");
298 static void utc_fail_tel_set_network_service_domain (void)
302 ret = tel_set_network_service_domain (NULL, 0, NULL, NULL);
303 if (ret == TAPI_API_SUCCESS) {
304 dts_fail("tel_set_network_service_domain", "Parameter check failed");
307 dts_pass("tel_set_network_service_domain");
312 * Generate default TC for no-additional-parameter type API
315 DO(tel_search_network)
316 DO(tel_cancel_network_manual_search)
317 DO(tel_get_network_band)
318 DO(tel_get_network_mode)
319 DO(tel_get_network_neighboring_cell_info)
320 DO(tel_get_network_preferred_plmn)
321 DO(tel_get_network_selection_mode)
322 DO(tel_get_network_service_domain)
323 DO(tel_get_network_serving)
324 DO(tel_select_network_automatic)
326 struct tet_testlist tet_testlist[] = {
328 // { utc_tel_search_network, 1 },
329 // { utc_fail_tel_search_network, 2 },
330 { utc_tel_cancel_network_manual_search, 1 },
331 { utc_fail_tel_cancel_network_manual_search, 2 },
332 { utc_tel_get_network_band, 1 },
333 { utc_fail_tel_get_network_band, 2 },
334 { utc_tel_get_network_mode, 1 },
335 { utc_fail_tel_get_network_mode, 2 },
336 { utc_tel_get_network_neighboring_cell_info, 1 },
337 { utc_fail_tel_get_network_neighboring_cell_info, 2 },
338 { utc_tel_get_network_preferred_plmn, 1 },
339 { utc_fail_tel_get_network_preferred_plmn, 2 },
340 { utc_tel_get_network_selection_mode, 1 },
341 { utc_fail_tel_get_network_selection_mode, 2 },
342 { utc_tel_get_network_service_domain, 1 },
343 { utc_fail_tel_get_network_service_domain, 2 },
344 { utc_tel_get_network_serving, 1 },
345 { utc_fail_tel_get_network_serving, 2 },
346 { utc_tel_select_network_automatic, 1 },
347 { utc_fail_tel_select_network_automatic, 2 },
350 { utc_tel_select_network_manual, 1 },
351 { utc_fail_tel_select_network_manual, 2 },
352 { utc_tel_set_network_band, 1 },
353 { utc_fail_tel_set_network_band, 2 },
354 { utc_tel_set_network_mode, 1 },
355 { utc_fail_tel_set_network_mode, 2 },
356 { utc_tel_set_network_preferred_plmn, 1 },
357 { utc_fail_tel_set_network_preferred_plmn, 2 },
358 { utc_tel_set_network_service_domain, 1 },
359 { utc_fail_tel_set_network_service_domain, 2 },
363 static void startup (void)
366 tet_printf ("\n TC start");
368 handle = tel_init (NULL);
371 static void cleanup (void)
376 tet_printf ("\n TC end");
379 void (*tet_startup) (void) = startup;
380 void (*tet_cleanup) (void) = cleanup;