4 * Copyright (c) 2014 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.
28 #include <tapi_common.h>
29 #include <ITapiModem.h>
30 #include <TapiUtility.h>
35 static char data_modem_set_flight_mode_mode[MENU_DATA_SIZE + 1] = "1";
36 static char data_modem_set_power_mode[MENU_DATA_SIZE + 1] = "1";
38 static void on_noti_modem_power(TapiHandle *handle, const char *noti_id, void *data, void *user_data)
43 msgb("event(%s) receive !!", TAPI_NOTI_MODEM_POWER);
48 msg(" - status = 0x%x", *status);
51 static void on_modem_get_version(TapiHandle *handle, int result, void *data, void *user_data)
53 TelMiscVersionInformation *info = data;
56 msgb("tel_get_misc_me_version() response receive");
57 msg(" - result = 0x%x", result);
62 msg(" - sw version = %s", info->szSwVersion);
63 msg(" - hw version = %s", info->szHwVersion);
64 msg(" - RfCal Date = %s", info->szRfCalDate);
65 msg(" - Product Code = %s", info->szProductCode);
66 msg(" - Model ID = %s", info->szModelId);
69 static void on_modem_get_serial_number(TapiHandle *handle, int result, void *data, void *user_data)
71 TelMiscSNInformation *sn = data;
74 msgb("tel_get_misc_me_sn() response receive");
75 msg(" - result = 0x%x", result);
80 msg(" - esn number = %s", sn->szEsn);
81 msg(" - meid number = %s", sn->szMeid);
85 static void on_modem_get_imei(TapiHandle *handle, int result, void *data, void *user_data)
90 msgb("tel_get_misc_me_imei() response receive");
91 msg(" - result = 0x%x", result);
96 msg(" - IMEI = %s", imei);
99 static void on_modem_get_flight_mode(TapiHandle *handle, int result, void *data, void *user_data)
101 gboolean *mode = data;
104 msgb("tel_get_flight_mode() response receive");
105 msg(" - result = 0x%x", result);
108 msg(" - mode = %d", *mode);
111 static void on_modem_set_flight_mode(TapiHandle *handle, int result, void *data, void *user_data)
114 msgb("tel_set_flight_mode() response receive");
115 msg(" - result = %s", (result == 1) ? "ON" : (result == 2) ? "OFF" : "FAIL" );
118 static void on_modem_set_power(TapiHandle *handle, int result, void *data, void *user_data)
121 msgb("tel_process_power_command() response receive");
122 msg(" - result = 0x%x", result);
125 static int run_modem_get_version(MManager *mm, struct menu_data *menu)
127 TapiHandle *handle = menu_manager_ref_user_data(mm);
130 msg("call tel_get_misc_me_version()");
132 result = tel_get_misc_me_version(handle, on_modem_get_version, NULL);
133 if (result != TAPI_API_SUCCESS) {
134 msg("failed. (result = %d)", result);
140 static int run_modem_get_version_sync(MManager *mm, struct menu_data *menu)
142 TapiHandle *handle = menu_manager_ref_user_data(mm);
143 TelMiscVersionInformation *info;
145 msg("call tel_get_misc_me_version_sync()");
147 info = tel_get_misc_me_version_sync(handle);
153 msg(" - sw version = %s", info->szSwVersion);
154 msg(" - hw version = %s", info->szHwVersion);
155 msg(" - RfCal Date = %s", info->szRfCalDate);
156 msg(" - Product Code = %s", info->szProductCode);
157 msg(" - Model ID = %s", info->szModelId);
164 static int run_modem_get_serial_number(MManager *mm, struct menu_data *menu)
166 TapiHandle *handle = menu_manager_ref_user_data(mm);
169 msg("call tel_get_misc_me_sn()");
171 result = tel_get_misc_me_sn(handle, on_modem_get_serial_number, NULL);
172 if (result != TAPI_API_SUCCESS) {
173 msg("failed. (result = %d)", result);
179 static int run_modem_get_serial_number_sync(MManager *mm, struct menu_data *menu)
181 TapiHandle *handle = menu_manager_ref_user_data(mm);
182 TelMiscSNInformation *sn;
184 msg("call tel_get_misc_me_sn_sync()");
186 sn = tel_get_misc_me_sn_sync(handle);
192 msg(" - esn number = [%s]", sn->szEsn);
193 msg(" - meid number = [%s]", sn->szMeid);
200 static int run_modem_get_imei(MManager *mm, struct menu_data *menu)
202 TapiHandle *handle = menu_manager_ref_user_data(mm);
205 msg("call tel_get_misc_me_imei()");
207 result = tel_get_misc_me_imei(handle, on_modem_get_imei, NULL);
208 if (result != TAPI_API_SUCCESS) {
209 msg("failed. (result = %d)", result);
215 static int run_modem_get_imei_sync(MManager *mm, struct menu_data *menu)
217 TapiHandle *handle = menu_manager_ref_user_data(mm);
220 msg("call tel_get_misc_me_imei_sync()");
222 imei = tel_get_misc_me_imei_sync(handle);
228 msg(" - imei = [%s]", imei);
235 static int run_modem_set_power(MManager *mm, struct menu_data *menu)
237 TapiHandle *handle = menu_manager_ref_user_data(mm);
241 msg("call tel_process_power_command()");
243 mode = atoi(data_modem_set_power_mode);
245 result = tel_process_power_command(handle, mode, on_modem_set_power, NULL);
246 if (result != TAPI_API_SUCCESS) {
247 msg("failed. (result = %d)", result);
253 static int run_modem_set_flight_mode(MManager *mm, struct menu_data *menu)
255 TapiHandle *handle = menu_manager_ref_user_data(mm);
259 msg("call tel_set_flight_mode()");
261 mode = atoi(data_modem_set_flight_mode_mode);
263 result = tel_set_flight_mode(handle, mode, on_modem_set_flight_mode, NULL);
264 if (result != TAPI_API_SUCCESS) {
265 msg("failed. (result = %d)", result);
271 static int run_modem_get_flight_mode(MManager *mm, struct menu_data *menu)
273 TapiHandle *handle = menu_manager_ref_user_data(mm);
276 msg("call tel_get_flight_mode()");
278 result = tel_get_flight_mode(handle, on_modem_get_flight_mode, NULL);
279 if (result != TAPI_API_SUCCESS) {
280 msg("failed. (result = %d)", result);
286 static int run_modem_check_power(MManager *mm, struct menu_data *menu)
288 TapiHandle *handle = menu_manager_ref_user_data(mm);
292 msg("call tel_check_modem_power_status()");
294 result = tel_check_modem_power_status(handle, &status);
295 if (result != TAPI_API_SUCCESS) {
296 msg("failed. (result = %d)", result);
300 msg(" - status = %d", status);
305 static struct menu_data menu_modem_get_version[] = {
306 { "1", "run", NULL, run_modem_get_version, NULL},
310 static struct menu_data menu_modem_get_version_sync[] = {
311 { "1", "run", NULL, run_modem_get_version_sync, NULL},
315 static struct menu_data menu_modem_get_serial_number[] = {
316 { "1", "run", NULL, run_modem_get_serial_number, NULL},
320 static struct menu_data menu_modem_get_serial_number_sync[] = {
321 { "1", "run", NULL, run_modem_get_serial_number_sync, NULL},
325 static struct menu_data menu_modem_get_imei[] = {
326 { "1", "run", NULL, run_modem_get_imei, NULL},
330 static struct menu_data menu_modem_get_imei_sync[] = {
331 { "1", "run", NULL, run_modem_get_imei_sync, NULL},
335 static struct menu_data menu_modem_get_flight_mode[] = {
336 { "1", "run", NULL, run_modem_get_flight_mode, NULL},
340 static struct menu_data menu_modem_set_flight_mode[] = {
341 { "1", "mode (1=ON, 2=OFF)", NULL, NULL, data_modem_set_flight_mode_mode},
342 { "2", "run", NULL, run_modem_set_flight_mode, NULL},
346 static struct menu_data menu_modem_set_power[] = {
347 { "1", "mode (0=ON, 1=OFF, 2=RESET, 3=LOW)", NULL, NULL, data_modem_set_power_mode},
348 { "2", "run", NULL, run_modem_set_power, NULL},
352 static struct menu_data menu_modem_check_power[] = {
353 { "1", "run (sync api)", NULL, run_modem_check_power, NULL},
354 { "-", "(-1=unknown, 0=on, 1=off, 2=rst, 3=low, 4=err)", NULL, NULL, NULL},
358 struct menu_data menu_modem[] = {
359 { "1", "tel_get_misc_me_version", menu_modem_get_version, NULL, NULL},
360 { "1s", "tel_get_misc_me_version_sync", menu_modem_get_version_sync, NULL, NULL},
361 { "2", "tel_get_misc_me_sn", menu_modem_get_serial_number, NULL, NULL},
362 { "2s", "tel_get_misc_me_sn_sync", menu_modem_get_serial_number_sync, NULL, NULL},
363 { "3", "tel_get_misc_me_imei", menu_modem_get_imei, NULL, NULL},
364 { "3s", "tel_get_misc_me_imei_sync", menu_modem_get_imei_sync, NULL, NULL},
365 { "4", "tel_get_flight_mode", menu_modem_get_flight_mode, NULL, NULL},
366 { "4s", "tel_set_flight_mode", menu_modem_set_flight_mode, NULL, NULL},
367 { "5", "tel_process_power_command", menu_modem_set_power, NULL, NULL},
368 { "6", "tel_check_modem_power_status", menu_modem_check_power, NULL, NULL},
372 void register_modem_event(TapiHandle *handle)
376 ret = tel_register_noti_event(handle, TAPI_NOTI_MODEM_POWER, on_noti_modem_power, NULL);
377 if (ret != TAPI_API_SUCCESS) {
378 msg("event register failed(%d)", ret);