+#ifdef TIZEN_FEATURE_EMULATOR
+void _update_emul_main_view(mh_appdata_t *ad, tethering_type_e type, Eina_Bool state)
+{
+ __MOBILE_AP_FUNC_ENTER__;
+
+ if (ad == NULL) {
+ ERR("Invalid param\n");
+ return;
+ }
+
+ Elm_Object_Item *item = NULL;
+
+ switch (type) {
+ case TETHERING_TYPE_WIFI:
+ /* Update Wi-Fi tethering on / off button */
+ _update_wifi_item(ad, MH_STATE_NONE);
+ if (state) {
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
+ if (ad->main.help_item) {
+ elm_genlist_item_update(ad->main.help_item);
+ } else {
+ item = elm_genlist_item_insert_after(ad->main.genlist,
+ ad->main.help_itc, ad, NULL,
+ ad->main.wifi_item,
+ ELM_GENLIST_ITEM_NONE, NULL,
+ NULL);
+ if (item == NULL) {
+ ERR("elm_genlist_item_insert_after NULL\n");
+ } else {
+ elm_genlist_item_select_mode_set(item,
+ ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ ad->main.help_item = item;
+ }
+ }
+ } else {
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
+ if (ad->main.help_item) {
+ elm_object_item_del(ad->main.help_item);
+ ad->main.help_item = NULL;
+ }
+ }
+
+ if (ad->main.wifi_item)
+ elm_genlist_item_update(ad->main.wifi_item);
+ break;
+
+ case TETHERING_TYPE_BT:
+ /* Update BT tethering on / off button */
+ _update_bt_item(ad, MH_STATE_NONE);
+ if (state)
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_BT;
+ else
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_BT;
+
+ if (ad->main.bt_item)
+ elm_genlist_item_update(ad->main.bt_item);
+ break;
+
+ case TETHERING_TYPE_USB:
+ /* Update USB tethering on / off button */
+ _update_usb_item(ad, MH_STATE_NONE);
+ if (state)
+ ad->main.hotspot_mode |= VCONFKEY_MOBILE_HOTSPOT_MODE_USB;
+ else
+ ad->main.hotspot_mode ^= VCONFKEY_MOBILE_HOTSPOT_MODE_USB;
+
+ if (ad->main.usb_item)
+ elm_genlist_item_update(ad->main.usb_item);
+ break;
+
+ default:
+ DBG("Unknown tethering type : %d\n", type);
+ break;
+ }
+
+ if (ad->main.hotspot_mode && ad->main.device_item == NULL) {
+ item = elm_genlist_item_append(ad->main.genlist,
+ ad->main.device_itc, ad, NULL,
+ ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ ad->main.device_item = item;
+ } else if (ad->main.hotspot_mode == 0 && ad->main.device_item) {
+ elm_object_item_del(ad->main.device_item);
+ ad->main.device_item = NULL;
+ }
+
+ __update_emul_clients_genlist(ad);
+
+ __MOBILE_AP_FUNC_EXIT__;
+ return;
+}
+#endif
+
+static int __is_allowed(tethering_type_e type)
+{
+ int state = 0;
+ device_policy_manager_h dpm = NULL;
+
+ dpm = dpm_manager_create();
+ if (dpm == NULL) {
+ ERR("Failed to create device policy manager!!");
+ return 0;
+ }
+
+ switch (type) {
+ case TETHERING_TYPE_WIFI:
+ dpm_restriction_get_wifi_hotspot_state(dpm, &state);
+ break;
+ case TETHERING_TYPE_USB:
+ dpm_restriction_get_usb_tethering_state(dpm, &state);
+ break;
+ case TETHERING_TYPE_BT:
+ dpm_restriction_get_bluetooth_tethering_state(dpm, &state);
+ break;
+ default:
+ break;
+ }
+
+ dpm_manager_destroy(dpm);
+
+ return state;
+}
+