-/*
- * tel-plugin-socket-communicator
- *
- * Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Contact: Ja-young Gu <jygu@samsung.com>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/time.h>
-#include <unistd.h>
-#include <glib.h>
-#include <glib-object.h>
-
-#include <tapi_sipc.h>
-
-#include "menu.h"
-#include "noti.h"
-
-static char data_menu_net_set_plmn_mode_mode[MENU_DATA_SIZE + 1] = "automatic";
-static char data_menu_net_set_plmn_mode_plmn[MENU_DATA_SIZE + 1] = "450001";
-
-static char data_net_set_service_domain_domain[MENU_DATA_SIZE + 1] = "combined";
-
-static char data_net_set_band_mode[MENU_DATA_SIZE + 1] = "only";
-static char data_net_set_band_band[MENU_DATA_SIZE + 1] = "1";
-
-static char data_net_set_preferred_plmn_mode[MENU_DATA_SIZE + 1] = "add";
-static char data_net_set_preferred_plmn_plmn[MENU_DATA_SIZE + 1] = "45001";
-static char data_net_set_preferred_plmn_act[MENU_DATA_SIZE + 1] = "1";
-static char data_net_set_preferred_plmn_ef_index[MENU_DATA_SIZE + 1] = "0";
-
-static char data_net_set_order_order[MENU_DATA_SIZE + 1] = "auto";
-
-static char data_net_set_poa_enable[MENU_DATA_SIZE + 1] = "true";
-
-
-gboolean on_noti_network_registration_status(tapi_service_object_t *data, void *user_data)
-{
- gint cs_domain_status, ps_domain_status, service_type, roaming_status;
-
- msg("TAPI_NOTI_NETWORK_REGISTRATION_STATUS receive !!");
-
- cs_domain_status = tapi_service_object_get_int(data, "cs_domain_status");
- ps_domain_status = tapi_service_object_get_int(data, "ps_domain_status");
- service_type = tapi_service_object_get_int(data, "service_type");
- roaming_status = tapi_service_object_get_int(data, "roaming_status");
-
- msg("cs_domain_status = %d", cs_domain_status);
- msg("ps_domain_status = %d", ps_domain_status);
- msg("service_type = %d", service_type);
- msg("roaming_status = %d", roaming_status);
-
- return TRUE;
-}
-
-gboolean on_noti_network_location_cellinfo(tapi_service_object_t *data, void *user_data)
-{
- gint lac, cell_id;
-
- msg("TAPI_NOTI_NETWORK_LOCATION_CELLINFO receive !!");
-
- lac = tapi_service_object_get_int(data, "lac");
- cell_id = tapi_service_object_get_int(data, "cell_id");
-
- msg("lac = %d", lac);
- msg("cell_id = %d", cell_id);
-
- return TRUE;
-}
-
-gboolean on_noti_network_icon_info(tapi_service_object_t *data, void *user_data)
-{
- gint type, rssi, battery, hdr_rssi;
-
- msg("TAPI_NOTI_NETWORK_ICON_INFO receive !!");
-
- type = tapi_service_object_get_int(data, "type");
- rssi = tapi_service_object_get_int(data, "rssi");
- battery = tapi_service_object_get_int(data, "battery");
- hdr_rssi = tapi_service_object_get_int(data, "hdr_rssi");
-
- msg("type = %d", type);
- msg("rssi = %d", rssi);
- msg("battery = %d", battery);
- msg("hdr_rssi = %d", hdr_rssi);
-
- return TRUE;
-}
-
-gboolean on_noti_network_change(tapi_service_object_t *data, void *user_data)
-{
- gchar *plmn;
- gint act, lac, carrier, sid, nid, bs_id, bs_lat, bs_long, reg_sonze, pilot_pn;
-
- msg("TAPI_NOTI_NETWORK_CHANGE receive !!");
-
- plmn = tapi_service_object_get_string(data, "plmn");
- act = tapi_service_object_get_int(data, "act");
- lac = tapi_service_object_get_int(data, "lac");
- carrier = tapi_service_object_get_int(data, "carrier");
- sid = tapi_service_object_get_int(data, "sid");
- nid = tapi_service_object_get_int(data, "nid");
- bs_id = tapi_service_object_get_int(data, "bs_id");
- bs_lat = tapi_service_object_get_int(data, "bs_lat");
- bs_long = tapi_service_object_get_int(data, "bs_long");
- reg_sonze = tapi_service_object_get_int(data, "reg_sonze");
- pilot_pn = tapi_service_object_get_int(data, "pilot_pn");
-
- msg("plmn = %s", plmn);
- msg("act = %d", act);
- msg("lac = %d", lac);
- msg("carrier = %d", carrier);
- msg("sid = %d", sid);
- msg("nid = %d", nid);
- msg("bs_id = %d", bs_id);
- msg("bs_lat = %d", bs_lat);
- msg("bs_long = %d", bs_long);
- msg("reg_sonze = %d", reg_sonze);
- msg("pilot_pn = %d", pilot_pn);
-
- return TRUE;
-}
-
-gboolean on_noti_network_timeinfo(tapi_service_object_t *data, void *user_data)
-{
- gchar *plmn;
- gint year, month, day, hour, minute, second, wday, gmtoff, dstoff, isdst;
-
- msg("TAPI_NOTI_NETWORK_TIMEINFO receive !!");
-
- plmn = tapi_service_object_get_string(data, "plmn");
- year = tapi_service_object_get_int(data, "year");
- month = tapi_service_object_get_int(data, "month");
- day = tapi_service_object_get_int(data, "day");
- hour = tapi_service_object_get_int(data, "hour");
- minute = tapi_service_object_get_int(data, "minute");
- second = tapi_service_object_get_int(data, "second");
- wday = tapi_service_object_get_int(data, "wday");
- gmtoff = tapi_service_object_get_int(data, "gmtoff");
- dstoff = tapi_service_object_get_int(data, "dstoff");
- isdst = tapi_service_object_get_int(data, "isdst");
-
- msg("plmn = %s", plmn);
- msg("year = %d", year);
- msg("month = %d", month);
- msg("day = %d", day);
- msg("hour = %d", hour);
- msg("minute = %d", minute);
- msg("second = %d", second);
- msg("wday = %d", wday);
- msg("gmtoff = %d", gmtoff);
- msg("dstoff = %d", dstoff);
- msg("isdst = %d", isdst);
-
- return TRUE;
-}
-
-static gboolean on_net_search(tapi_service_object_t *data, void *cb_data)
-{
- int count;
- int i;
- char buf[10] = {0, };
- char *plmn;
- int status;
- int act;
- tapi_service_object_t *entry;
-
- msg("TAPI_SERVICE_NETWORK_SEARCH response receive");
- count = tapi_service_object_get_int(data, "count");
-
- msg("count = %d", count);
- for (i = 0; i < count; i++) {
- snprintf(buf, 10, "%d", i);
- entry = tapi_service_object_get_object(data, buf);
- if (!entry)
- continue;
-
- plmn = tapi_service_object_get_string(entry, "plmn");
- status = tapi_service_object_get_int(entry, "status");
- act = tapi_service_object_get_int(entry, "act");
- msg("[%2d] plmn=[%s], status=%d, act=%d", i, plmn, status, act);
- }
-
- return TRUE;
-}
-
-static int run_net_search(MManager *mm, struct menu_data *menu)
-{
- tapi_handle_t *handle = menu_manager_ref_user_data(mm);
- tapi_service_object_t *in = NULL;
-
- msg("call [%s] tapi service !!!", menu->title);
-
- in = tapi_create_service_object(TAPI_SERVICE_NETWORK_SEARCH);
-
- tel_processing_command_async(handle, in, on_net_search, NULL);
-
- return 0;
-}
-
-static int run_net_set_plmn_mode(MManager *mm, struct menu_data *menu)
-{
- msg("mode = %s", data_menu_net_set_plmn_mode_mode);
- msg("plmn = %s", data_menu_net_set_plmn_mode_plmn);
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_plmn_mode(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_service_domain(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_service_domain(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_band(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_band(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_preferred_plmn(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_preferred_plmn(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_order(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_order(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_poa(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_poa(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_set_cancel_manual_search(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-static int run_net_get_serving_network(MManager *mm, struct menu_data *menu)
-{
- msg("call [%s] tapi service !!!", menu->title);
-
- return 0;
-}
-
-
-static struct menu_data menu_net_search[] = {
- { "1", "run", NULL, run_net_search, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_set_plmn_mode[] = {
- { "1", "mode (automatic / manual)", NULL, NULL, data_menu_net_set_plmn_mode_mode},
- { "2", "plmn (45001)", NULL, NULL, data_menu_net_set_plmn_mode_plmn},
- { "3", "run", NULL, run_net_set_plmn_mode, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_plmn_mode[] = {
- { "1", "run", NULL, run_net_get_plmn_mode, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_service_domain[] = {
- { "1", "domain (circuit / packet / combined)", NULL, NULL, data_net_set_service_domain_domain},
- { "2", "run", NULL, run_net_set_service_domain, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_service_domain[] = {
- { "1", "run", NULL, run_net_get_service_domain, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_band[] = {
- { "1", "mode (only / preferred)", NULL, NULL, data_net_set_band_mode},
- { "2", "band (1=.., 2=..)", NULL, NULL, data_net_set_band_band},
- { "3", "run", NULL, run_net_set_band, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_band[] = {
- { "1", "run", NULL, run_net_get_band, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_preferred_plmn[] = {
- { "1", "mode (add / edit / delete)", NULL, NULL, data_net_set_preferred_plmn_mode},
- { "2", "plmn (45001)", NULL, NULL, data_net_set_preferred_plmn_plmn},
- { "3", "act (1=.., 2=..)", NULL, NULL, data_net_set_preferred_plmn_act},
- { "4", "ef_index (0,...)", NULL, NULL, data_net_set_preferred_plmn_ef_index},
- { "5", "run", NULL, run_net_set_preferred_plmn, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_preferred_plmn[] = {
- { "1", "run", NULL, run_net_get_preferred_plmn, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_order[] = {
- { "1", "order (auto / gsm / wcdma / no_change)", NULL, NULL, data_net_set_order_order},
- { "2", "run", NULL, run_net_set_order, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_order[] = {
- { "1", "run", NULL, run_net_get_order, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_poa[] = {
- { "1", "enable (true / false)", NULL, NULL, data_net_set_poa_enable},
- { "2", "run", NULL, run_net_set_poa, NULL},
- { NULL, NULL, },
-};
-
-static struct menu_data menu_net_get_poa[] = {
- { "1", "run", NULL, run_net_get_poa, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_set_cancel_manual_search[] = {
- { "1", "run", NULL, run_net_set_cancel_manual_search, NULL},
- { NULL, NULL, },
-};
-
-
-static struct menu_data menu_net_get_serving_network[] = {
- { "1", "run", NULL, run_net_get_serving_network, NULL},
- { NULL, NULL, },
-};
-
-
-struct menu_data menu_net[] = {
- { "1", "Search", menu_net_search, NULL, NULL},
- { "2s", "SET PLMN Selection mode", menu_net_set_plmn_mode, NULL, NULL},
- { "2g", "GET PLMN Selection mode", menu_net_get_plmn_mode, NULL, NULL},
- { "3s", "SET Service Domain", menu_net_set_service_domain, NULL, NULL},
- { "3g", "GET_Service Domain", menu_net_get_service_domain, NULL, NULL},
- { "4s", "SET Band", menu_net_set_band, NULL, NULL},
- { "4g", "GET Band", menu_net_get_band, NULL, NULL},
- { "5s", "SET Preferred PLMN", menu_net_set_preferred_plmn, NULL, NULL},
- { "5g", "GET Preferred PLMN", menu_net_get_preferred_plmn, NULL, NULL},
- { "6s", "SET Order", menu_net_set_order, NULL, NULL},
- { "6g", "GET Order", menu_net_get_order, NULL, NULL},
- { "7s", "SET Power on attach", menu_net_set_poa, NULL, NULL},
- { "7g", "GET Power on attach", menu_net_get_poa, NULL, NULL},
- { "8s", "SET Cancel manual search", menu_net_set_cancel_manual_search, NULL, NULL},
- { "9g", "GET Serving network", menu_net_get_serving_network, NULL, NULL},
- { NULL, NULL, },
-};