2 * tel-plugin-socket-communicator
4 * Copyright (c) 2012 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.
27 #include <glib-object.h>
29 #include <tapi_sipc.h>
34 static char data_menu_net_set_plmn_mode_mode[MENU_DATA_SIZE + 1] = "automatic";
35 static char data_menu_net_set_plmn_mode_plmn[MENU_DATA_SIZE + 1] = "450001";
37 static char data_net_set_service_domain_domain[MENU_DATA_SIZE + 1] = "combined";
39 static char data_net_set_band_mode[MENU_DATA_SIZE + 1] = "only";
40 static char data_net_set_band_band[MENU_DATA_SIZE + 1] = "1";
42 static char data_net_set_preferred_plmn_mode[MENU_DATA_SIZE + 1] = "add";
43 static char data_net_set_preferred_plmn_plmn[MENU_DATA_SIZE + 1] = "45001";
44 static char data_net_set_preferred_plmn_act[MENU_DATA_SIZE + 1] = "1";
45 static char data_net_set_preferred_plmn_ef_index[MENU_DATA_SIZE + 1] = "0";
47 static char data_net_set_order_order[MENU_DATA_SIZE + 1] = "auto";
49 static char data_net_set_poa_enable[MENU_DATA_SIZE + 1] = "true";
52 gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data)
54 gint cs_domain_status, ps_domain_status, service_type, roaming_status;
56 msg("TAPI_NOTI_NETWORK_REGISTRATION_STATUS receive !!");
58 cs_domain_status = tapi_service_object_get_int(data, "cs_domain_status");
59 ps_domain_status = tapi_service_object_get_int(data, "ps_domain_status");
60 service_type = tapi_service_object_get_int(data, "service_type");
61 roaming_status = tapi_service_object_get_int(data, "roaming_status");
63 msg("cs_domain_status = %d", cs_domain_status);
64 msg("ps_domain_status = %d", ps_domain_status);
65 msg("service_type = %d", service_type);
66 msg("roaming_status = %d", roaming_status);
71 gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data)
75 msg("TAPI_NOTI_NETWORK_LOCATION_CELLINFO receive !!");
77 lac = tapi_service_object_get_int(data, "lac");
78 cell_id = tapi_service_object_get_int(data, "cell_id");
81 msg("cell_id = %d", cell_id);
86 gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data)
88 gint type, rssi, battery, hdr_rssi;
90 msg("TAPI_NOTI_NETWORK_ICON_INFO receive !!");
92 type = tapi_service_object_get_int(data, "type");
93 rssi = tapi_service_object_get_int(data, "rssi");
94 battery = tapi_service_object_get_int(data, "battery");
95 hdr_rssi = tapi_service_object_get_int(data, "hdr_rssi");
97 msg("type = %d", type);
98 msg("rssi = %d", rssi);
99 msg("battery = %d", battery);
100 msg("hdr_rssi = %d", hdr_rssi);
105 gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data)
108 gint act, lac, carrier, sid, nid, bs_id, bs_lat, bs_long, reg_sonze, pilot_pn;
110 msg("TAPI_NOTI_NETWORK_CHANGE receive !!");
112 plmn = tapi_service_object_get_string(data, "plmn");
113 act = tapi_service_object_get_int(data, "act");
114 lac = tapi_service_object_get_int(data, "lac");
115 carrier = tapi_service_object_get_int(data, "carrier");
116 sid = tapi_service_object_get_int(data, "sid");
117 nid = tapi_service_object_get_int(data, "nid");
118 bs_id = tapi_service_object_get_int(data, "bs_id");
119 bs_lat = tapi_service_object_get_int(data, "bs_lat");
120 bs_long = tapi_service_object_get_int(data, "bs_long");
121 reg_sonze = tapi_service_object_get_int(data, "reg_sonze");
122 pilot_pn = tapi_service_object_get_int(data, "pilot_pn");
124 msg("plmn = %s", plmn);
125 msg("act = %d", act);
126 msg("lac = %d", lac);
127 msg("carrier = %d", carrier);
128 msg("sid = %d", sid);
129 msg("nid = %d", nid);
130 msg("bs_id = %d", bs_id);
131 msg("bs_lat = %d", bs_lat);
132 msg("bs_long = %d", bs_long);
133 msg("reg_sonze = %d", reg_sonze);
134 msg("pilot_pn = %d", pilot_pn);
139 gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data)
142 gint year, month, day, hour, minute, second, wday, gmtoff, dstoff, isdst;
144 msg("TAPI_NOTI_NETWORK_TIMEINFO receive !!");
146 plmn = tapi_service_object_get_string(data, "plmn");
147 year = tapi_service_object_get_int(data, "year");
148 month = tapi_service_object_get_int(data, "month");
149 day = tapi_service_object_get_int(data, "day");
150 hour = tapi_service_object_get_int(data, "hour");
151 minute = tapi_service_object_get_int(data, "minute");
152 second = tapi_service_object_get_int(data, "second");
153 wday = tapi_service_object_get_int(data, "wday");
154 gmtoff = tapi_service_object_get_int(data, "gmtoff");
155 dstoff = tapi_service_object_get_int(data, "dstoff");
156 isdst = tapi_service_object_get_int(data, "isdst");
158 msg("plmn = %s", plmn);
159 msg("year = %d", year);
160 msg("month = %d", month);
161 msg("day = %d", day);
162 msg("hour = %d", hour);
163 msg("minute = %d", minute);
164 msg("second = %d", second);
165 msg("wday = %d", wday);
166 msg("gmtoff = %d", gmtoff);
167 msg("dstoff = %d", dstoff);
168 msg("isdst = %d", isdst);
173 static gboolean on_net_search(tapi_service_object_t *data, void *cb_data)
177 char buf[10] = {0, };
181 tapi_service_object_t *entry;
183 msg("TAPI_SERVICE_NETWORK_SEARCH response receive");
184 count = tapi_service_object_get_int(data, "count");
186 msg("count = %d", count);
187 for (i = 0; i < count; i++) {
188 snprintf(buf, 10, "%d", i);
189 entry = tapi_service_object_get_object(data, buf);
193 plmn = tapi_service_object_get_string(entry, "plmn");
194 status = tapi_service_object_get_int(entry, "status");
195 act = tapi_service_object_get_int(entry, "act");
196 msg("[%2d] plmn=[%s], status=%d, act=%d", i, plmn, status, act);
202 static int run_net_search(MManager *mm, struct menu_data *menu)
204 tapi_handle_t *handle = menu_manager_ref_user_data(mm);
205 tapi_service_object_t *in = NULL;
207 msg("call [%s] tapi service !!!", menu->title);
209 in = tapi_create_service_object(TAPI_SERVICE_NETWORK_SEARCH);
211 tel_processing_command_async(handle, in, on_net_search, NULL);
216 static int run_net_set_plmn_mode(MManager *mm, struct menu_data *menu)
218 msg("mode = %s", data_menu_net_set_plmn_mode_mode);
219 msg("plmn = %s", data_menu_net_set_plmn_mode_plmn);
220 msg("call [%s] tapi service !!!", menu->title);
225 static int run_net_get_plmn_mode(MManager *mm, struct menu_data *menu)
227 msg("call [%s] tapi service !!!", menu->title);
232 static int run_net_set_service_domain(MManager *mm, struct menu_data *menu)
234 msg("call [%s] tapi service !!!", menu->title);
239 static int run_net_get_service_domain(MManager *mm, struct menu_data *menu)
241 msg("call [%s] tapi service !!!", menu->title);
246 static int run_net_set_band(MManager *mm, struct menu_data *menu)
248 msg("call [%s] tapi service !!!", menu->title);
253 static int run_net_get_band(MManager *mm, struct menu_data *menu)
255 msg("call [%s] tapi service !!!", menu->title);
260 static int run_net_set_preferred_plmn(MManager *mm, struct menu_data *menu)
262 msg("call [%s] tapi service !!!", menu->title);
267 static int run_net_get_preferred_plmn(MManager *mm, struct menu_data *menu)
269 msg("call [%s] tapi service !!!", menu->title);
274 static int run_net_set_order(MManager *mm, struct menu_data *menu)
276 msg("call [%s] tapi service !!!", menu->title);
281 static int run_net_get_order(MManager *mm, struct menu_data *menu)
283 msg("call [%s] tapi service !!!", menu->title);
288 static int run_net_set_poa(MManager *mm, struct menu_data *menu)
290 msg("call [%s] tapi service !!!", menu->title);
295 static int run_net_get_poa(MManager *mm, struct menu_data *menu)
297 msg("call [%s] tapi service !!!", menu->title);
302 static int run_net_set_cancel_manual_search(MManager *mm, struct menu_data *menu)
304 msg("call [%s] tapi service !!!", menu->title);
309 static int run_net_get_serving_network(MManager *mm, struct menu_data *menu)
311 msg("call [%s] tapi service !!!", menu->title);
317 static struct menu_data menu_net_search[] = {
318 { "1", "run", NULL, run_net_search, NULL},
322 static struct menu_data menu_net_set_plmn_mode[] = {
323 { "1", "mode (automatic / manual)", NULL, NULL, data_menu_net_set_plmn_mode_mode},
324 { "2", "plmn (45001)", NULL, NULL, data_menu_net_set_plmn_mode_plmn},
325 { "3", "run", NULL, run_net_set_plmn_mode, NULL},
329 static struct menu_data menu_net_get_plmn_mode[] = {
330 { "1", "run", NULL, run_net_get_plmn_mode, NULL},
335 static struct menu_data menu_net_set_service_domain[] = {
336 { "1", "domain (circuit / packet / combined)", NULL, NULL, data_net_set_service_domain_domain},
337 { "2", "run", NULL, run_net_set_service_domain, NULL},
341 static struct menu_data menu_net_get_service_domain[] = {
342 { "1", "run", NULL, run_net_get_service_domain, NULL},
347 static struct menu_data menu_net_set_band[] = {
348 { "1", "mode (only / preferred)", NULL, NULL, data_net_set_band_mode},
349 { "2", "band (1=.., 2=..)", NULL, NULL, data_net_set_band_band},
350 { "3", "run", NULL, run_net_set_band, NULL},
354 static struct menu_data menu_net_get_band[] = {
355 { "1", "run", NULL, run_net_get_band, NULL},
360 static struct menu_data menu_net_set_preferred_plmn[] = {
361 { "1", "mode (add / edit / delete)", NULL, NULL, data_net_set_preferred_plmn_mode},
362 { "2", "plmn (45001)", NULL, NULL, data_net_set_preferred_plmn_plmn},
363 { "3", "act (1=.., 2=..)", NULL, NULL, data_net_set_preferred_plmn_act},
364 { "4", "ef_index (0,...)", NULL, NULL, data_net_set_preferred_plmn_ef_index},
365 { "5", "run", NULL, run_net_set_preferred_plmn, NULL},
369 static struct menu_data menu_net_get_preferred_plmn[] = {
370 { "1", "run", NULL, run_net_get_preferred_plmn, NULL},
375 static struct menu_data menu_net_set_order[] = {
376 { "1", "order (auto / gsm / wcdma / no_change)", NULL, NULL, data_net_set_order_order},
377 { "2", "run", NULL, run_net_set_order, NULL},
381 static struct menu_data menu_net_get_order[] = {
382 { "1", "run", NULL, run_net_get_order, NULL},
387 static struct menu_data menu_net_set_poa[] = {
388 { "1", "enable (true / false)", NULL, NULL, data_net_set_poa_enable},
389 { "2", "run", NULL, run_net_set_poa, NULL},
393 static struct menu_data menu_net_get_poa[] = {
394 { "1", "run", NULL, run_net_get_poa, NULL},
399 static struct menu_data menu_net_set_cancel_manual_search[] = {
400 { "1", "run", NULL, run_net_set_cancel_manual_search, NULL},
405 static struct menu_data menu_net_get_serving_network[] = {
406 { "1", "run", NULL, run_net_get_serving_network, NULL},
411 struct menu_data menu_net[] = {
412 { "1", "Search", menu_net_search, NULL, NULL},
413 { "2s", "SET PLMN Selection mode", menu_net_set_plmn_mode, NULL, NULL},
414 { "2g", "GET PLMN Selection mode", menu_net_get_plmn_mode, NULL, NULL},
415 { "3s", "SET Service Domain", menu_net_set_service_domain, NULL, NULL},
416 { "3g", "GET_Service Domain", menu_net_get_service_domain, NULL, NULL},
417 { "4s", "SET Band", menu_net_set_band, NULL, NULL},
418 { "4g", "GET Band", menu_net_get_band, NULL, NULL},
419 { "5s", "SET Preferred PLMN", menu_net_set_preferred_plmn, NULL, NULL},
420 { "5g", "GET Preferred PLMN", menu_net_get_preferred_plmn, NULL, NULL},
421 { "6s", "SET Order", menu_net_set_order, NULL, NULL},
422 { "6g", "GET Order", menu_net_get_order, NULL, NULL},
423 { "7s", "SET Power on attach", menu_net_set_poa, NULL, NULL},
424 { "7g", "GET Power on attach", menu_net_get_poa, NULL, NULL},
425 { "8s", "SET Cancel manual search", menu_net_set_cancel_manual_search, NULL, NULL},
426 { "9g", "GET Serving network", menu_net_get_serving_network, NULL, NULL},