#include <co_context.h>
#include <co_ps.h>
+#define MODULE_TAG "PS-MODEM"
+
#define PROP_DEFAULT FALSE
#define PROP_DEFAULT_STR NULL
#define DATABASE_PATH_0 tzplatform_mkpath(TZ_SYS_DB, ".dnet.db")
modem = thread_data->modem;
- dbg("Thread %p return is complete", thread_data->selfi);
+ ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Thread %p return is complete", thread_data->selfi);
_ps_get_co_modem_values(thread_data->modem);
_ps_modem_set_reset_profile(thread_data->modem, FALSE);
packet_service_modem_complete_reset_profile(thread_data->modem->if_obj, thread_data->modem->invocation, TRUE);
g_thread_join(thread_data->selfi);
- dbg("Clean up of thread %p is complete", thread_data->selfi);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "Clean up of thread %p is complete", thread_data->selfi);
thread_data->modem->invocation = NULL;
_ps_modem_remove_profile_reset_gsource(thread_data->modem);
thread_data->modem = NULL;
thread_data = g_try_malloc0(sizeof(*thread_data));
if (!thread_data) {
- err("mamory alloc is fail !!!");
+ ps_err_ex_co(_ps_modem_ref_co_modem(modem), "memory alloc is fail !!!");
return NULL;
}
thread_data->modem = modem;
rv = _ps_context_fill_profile_table_from_ini_file(modem->cp_name);
if (TRUE == ps_util_thread_dispatch(g_main_context_default(), G_PRIORITY_LOW, (GSourceFunc)__ps_modem_thread_finish_cb, thread_data))
- dbg("Thread %p processing is complete", thread_data->selfi);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "Thread %p processing is complete", thread_data->selfi);
g_free(command);
{
ps_modem_t *modem = data;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Entered");
if (!modem) {
- dbg("Modem is NULL");
+ warn("Modem is NULL");
return;
}
- __ps_modem_cp_reset_send_pending_request_response(modem);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "Entered");
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
+ __ps_modem_cp_reset_send_pending_request_response(modem);
+#endif
/*Need to remove the compelete hash table*/
g_hash_table_remove_all(modem->services);
g_object_unref(modem->if_obj);
/*Need to free memory allocated for the internal structure*/
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
g_queue_free(modem->work_queue);
+#endif
g_free(modem->path);
g_free(modem->operator);
g_free(modem->cp_name);
g_free(t_path);
return;
}
- ps_dbg_ex_co(co_modem, "service path (%s)", t_path);
+ ps_info_ex_co(co_modem, "service path (%s)", t_path);
object = _ps_service_create_service(conn, p, modem, co_network, co_ps, t_path);
if (object == NULL) {
ps_err_ex_co(co_modem, "Failed to create service ");
g_hash_table_remove(modem->services, _ps_service_ref_path(service));
- dbg("Successfully removed the service from the modem");
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "Successfully removed the service from the modem");
return;
}
{
g_return_val_if_fail(modem != NULL, FALSE);
- modem->powered = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) powered(%d)", modem, modem->powered);
- __ps_modem_emit_property_changed_signal(modem);
+ if (modem->powered != value) {
+ modem->powered = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) powered(%d)", modem, modem->powered);
+ __ps_modem_emit_property_changed_signal(modem);
+ }
return TRUE;
}
{
g_return_val_if_fail(modem != NULL, FALSE);
- /* Update SIM init status */
- modem->sim_init = value;
- if (value && operator != NULL && !modem->operator)
- modem->operator = g_strdup(operator);
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem [%p] SIM-Init [%s]", modem, (modem->sim_init ? "INITIALIZED" : "UNINITIALIZED"));
+ if (modem->sim_init != value) {
+ /* Update SIM init status */
+ modem->sim_init = value;
+ if (value && operator != NULL && !modem->operator)
+ modem->operator = g_strdup(operator);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem [%p] SIM-Init [%s]", modem, (modem->sim_init ? "INITIALIZED" : "UNINITIALIZED"));
- __ps_modem_emit_property_changed_signal(modem);
+ __ps_modem_emit_property_changed_signal(modem);
+ }
return TRUE;
}
{
g_return_val_if_fail(modem != NULL, FALSE);
- modem->flight_mode = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) flight_mode(%d)", modem, modem->flight_mode);
- __ps_modem_emit_property_changed_signal(modem);
- __ps_modem_processing_modem_event(modem);
+ if (modem->flight_mode != value) {
+ modem->flight_mode = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) flight_mode(%d)", modem, modem->flight_mode);
+ __ps_modem_emit_property_changed_signal(modem);
+ __ps_modem_processing_modem_event(modem);
+ }
return TRUE;
}
gint key_ps_mode = 0;
ps_modem_t *modem = NULL;
CoreObject *co_modem;
-#if defined(TIZEN_UPS_ENABLED)
- struct treq_modem_set_flightmode data = {0};
-#endif
modem = (ps_modem_t *) object;
co_modem = _ps_modem_ref_co_modem(modem);
#if defined(TIZEN_UPS_ENABLED)
_ps_modem_set_psmode(modem, key_ps_mode);
- if (key_ps_mode == POWER_SAVING_MODE_NORMAL) {
- dbg("set flight mode off");
- data.enable = FALSE;
- } else if (key_ps_mode == POWER_SAVING_MODE_WEARABLE) {
- dbg("set flight mode on");
- data.enable = TRUE;
- } else {
- err("Not supported");
- goto OUT;
- }
- _ps_modem_send_filght_mode_request(modem, &data);
-OUT:
#endif
ps_dbg_ex_co(co_modem, "data allowed(%d) roaming allowed(%d) power saving mode(%d), network restrict mode (%d)",
key_3g_enable, key_roaming_allowed, key_ps_mode, key_nw_restrict_mode);
continue;
}
- if (modem->flight_mode || (s_roaming && !modem->roaming_allowed)) {
+ if (modem->flight_mode) {
_ps_service_disconnect_contexts(value);
continue;
- } else if (!modem->data_allowed) {
- _ps_service_disconnect_internet_mms_contexts(value);
+ } else if (!modem->data_allowed || (s_roaming && !modem->roaming_allowed)) {
+ _ps_service_disconnect_internet_mms_tethering_contexts(value);
continue;
}
return NULL;
}
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
/*Add work queue to keep user request in case of handling active PDP context*/
new_modem->hook_flag = 0x00;
new_modem->work_queue = g_queue_new();
g_free(new_modem);
return NULL;
}
-
+#endif
new_modem->conn = conn;
new_modem->p_master = master;
new_modem->plg = p;
g_assert_no_error(error);
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
/* Adding hooks for special Network Requests */
tcore_server_add_request_hook(tcore_plugin_ref_server(p),
TREQ_NETWORK_SEARCH,
tcore_server_add_request_hook(tcore_plugin_ref_server(p),
TREQ_MODEM_POWER_ON,
ps_handle_hook, new_modem);
+#endif
- ps_err_ex_co(co_modem, "Successfully created the modem");
+ ps_info_ex_co(co_modem, "Successfully created the modem");
return new_modem;
}
if (modem->services == NULL)
return;
- dbg("Clearing all services");
+ ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Clearing all services");
g_hash_table_iter_init(&iter, modem->services);
while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
/* Update Cellular state */
_ps_free_co_modem_event(modem);
}
-gboolean _ps_modem_send_filght_mode_request(gpointer value, void *data)
-{
- CoreObject *co_modem = NULL, *co_ps = NULL;
- UserRequest *ur = NULL;
- ps_modem_t *modem = value;
- TReturn rv;
-
- co_modem = _ps_modem_ref_co_modem(modem);
- co_ps = tcore_plugin_ref_core_object(tcore_object_ref_plugin(co_modem), CORE_OBJECT_TYPE_PS);
- /* deactivate contexts first. */
- rv = tcore_ps_deactivate_contexts(co_ps);
- if (rv != TCORE_RETURN_SUCCESS)
- ps_dbg_ex_co(co_ps, "fail to deactivation");
-
- tcore_ps_set_online(co_ps, FALSE);
-
- ur = tcore_user_request_new(NULL, NULL);
- tcore_user_request_set_data(ur, sizeof(struct treq_modem_set_flightmode), data);
- tcore_user_request_set_command(ur, TREQ_MODEM_SET_FLIGHTMODE);
- if (TCORE_RETURN_SUCCESS != tcore_object_dispatch_request(co_modem, ur)) {
- err("fail to send user request");
- tcore_user_request_unref(ur);
- return FALSE;
- }
- return TRUE;
-}
-
gboolean _ps_modem_processing_flight_mode(gpointer object, gboolean enable)
{
ps_modem_t *modem = object;
g_return_val_if_fail(modem != NULL, FALSE);
- dbg("modem->powered [%d], Modem->sim_init [%d], modem_state [%d]",
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem->powered [%d], Modem->sim_init [%d], modem_state [%d]",
modem->powered, modem->sim_init, modem_state);
if (modem->powered == modem_state)
if (contexts != NULL) {
GHashTableIter iter;
gpointer key, value;
- warn("[WARN] contexts exist, SIM init complete before Modem Power On event.");
+ ps_warn_ex_co(_ps_modem_ref_co_modem(modem), "contexts exist, SIM init complete before Modem Power On event.");
g_hash_table_iter_init(&iter, modem->services);
while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
_ps_service_set_number_of_pdn_cnt(value, modem->operator);
gboolean different_sim = FALSE;
if (operator && (g_strcmp0(modem->operator, operator) != 0)) {
- ps_dbg_ex_co(co_modem, "Previous operator: [%s] Present operator: [%s]", modem->operator, operator);
+ ps_info_ex_co(co_modem, "Previous operator: [%s] Present operator: [%s]", modem->operator, operator);
g_free(modem->operator);
modem->operator = g_strdup(operator);
_ps_service_set_attach_apn(value);
}
} else {
- ps_dbg_ex_co(co_modem, "Failed to create HASH table");
+ ps_err_ex_co(co_modem, "Failed to create HASH table");
return FALSE;
}
}
g_hash_table_iter_init(&iter, modem->services);
while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
- ps_dbg_ex_co(co_modem, "Remove contexts on service(%p)", value);
+ ps_info_ex_co(co_modem, "Remove contexts on service(%p)", value);
_ps_service_remove_contexts(value);
}
}
}
EXIT:
- dbg("Exiting");
+ ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Exiting");
return TRUE;
}
g_return_val_if_fail(modem != NULL, FALSE);
- modem->reset_profile = value;
- dbg("modem(%p) reset_profile(%d)", modem, modem->reset_profile);
+ if (modem->reset_profile != value) {
+ modem->reset_profile = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) reset_profile(%d)", modem, modem->reset_profile);
+ }
+
return TRUE;
}
g_return_val_if_fail(modem != NULL, FALSE);
- dbg("modem(%p) reset_profile(%d)", modem, modem->reset_profile);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) reset_profile(%d)", modem, modem->reset_profile);
return modem->reset_profile;
}
g_return_val_if_fail(modem != NULL, FALSE);
- modem->sim_init = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) sim_enabled(%d)", modem, modem->sim_init);
+ if (modem->sim_init != value) {
+ modem->sim_init = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) sim_enabled(%d)", modem, modem->sim_init);
+ }
+ return TRUE;
+}
+
+gboolean _ps_modem_connect_default_context(gpointer object)
+{
+ ps_modem_t *modem = object;
+ GHashTableIter iter;
+ gpointer key, value;
+
+ g_return_val_if_fail(modem != NULL, FALSE);
+
+ g_hash_table_iter_init(&iter, modem->services);
+ while (g_hash_table_iter_next(&iter, &key, &value) == TRUE)
+ _ps_service_connect_default_context(value);
+
return TRUE;
}
g_return_val_if_fail(modem != NULL, FALSE);
- modem->data_allowed = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) data allowed(%d)", modem, modem->data_allowed);
- __ps_modem_emit_property_changed_signal(modem);
- __ps_modem_processing_modem_event(modem);
+ if (modem->data_allowed != value) {
+ modem->data_allowed = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) data allowed(%d)", modem, modem->data_allowed);
+ __ps_modem_emit_property_changed_signal(modem);
+ __ps_modem_processing_modem_event(modem);
+ }
return TRUE;
}
g_return_val_if_fail(modem != NULL, FALSE);
- modem->roaming_allowed = roaming_allowed;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming allowed(%d)", modem, modem->roaming_allowed);
- __ps_modem_emit_property_changed_signal(modem);
+ if (modem->roaming_allowed != roaming_allowed) {
+ modem->roaming_allowed = roaming_allowed;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming allowed(%d)", modem, modem->roaming_allowed);
+ __ps_modem_emit_property_changed_signal(modem);
- if (!modem->services)
- return TRUE;
+ if (!modem->services)
+ return TRUE;
- if (modem->roaming)
- __ps_modem_processing_modem_event(modem);
+ if (modem->roaming)
+ __ps_modem_processing_modem_event(modem);
+ }
return TRUE;
}
g_return_val_if_fail(modem != NULL, FALSE);
- modem->ps_mode = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) power saving mode(%d)", modem, modem->ps_mode);
+ if (modem->ps_mode != value) {
+ modem->ps_mode = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) power saving mode(%d)", modem, modem->ps_mode);
+ }
return TRUE;
}
ps_modem_t *modem = object;
g_return_if_fail(modem != NULL);
- modem->roaming = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming(%d)", modem, modem->roaming);
-
- return;
+ if (modem->roaming != value) {
+ modem->roaming = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming(%d)", modem, modem->roaming);
+ }
}
gint _ps_modem_get_roaming_apn_support(gpointer object)
ps_modem_t *modem = object;
g_return_if_fail(modem != NULL);
- modem->roaming_apn_support = value;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming_apn_support(%d)", modem, modem->roaming);
+ if (modem->roaming_apn_support != value) {
+ modem->roaming_apn_support = value;
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "modem(%p) roaming_apn_support(%d)", modem, modem->roaming);
+ }
}
gint _ps_modem_get_psmode(gpointer object)
return modem->ps_mode;
}
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
guchar _ps_modem_get_hook_flag(gpointer object)
{
ps_modem_t *modem = object;
return modem->hook_flag;
}
+#endif
gboolean _ps_modem_get_data_roaming_allowed(gpointer object)
{
return modem->flight_mode;
}
-void _ps_modem_set_flght_mode_ups(gpointer object, gboolean value)
-{
- ps_modem_t *modem = object;
- g_return_if_fail(modem != NULL);
-
- modem->flight_mode_ups = value;
- dbg("modem(%p) flight_mode_ups(%d)", modem, modem->flight_mode_ups);
-
- return;
-}
-
-gboolean _ps_modem_get_flght_mode_ups(gpointer object)
-{
- ps_modem_t *modem = object;
- g_return_val_if_fail(modem != NULL, FALSE);
-
- return modem->flight_mode_ups;
-}
-
gboolean _ps_modem_get_sim_init(gpointer object)
{
ps_modem_t *modem = object;
{
ps_modem_t *modem = object;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "get modem properties");
g_return_val_if_fail(modem != NULL, FALSE);
g_return_val_if_fail(properties != NULL, FALSE);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "get modem properties");
+
g_variant_builder_open(properties, G_VARIANT_TYPE("a{ss}"));
g_variant_builder_add(properties, "{ss}", "path", modem->path);
g_variant_builder_add(properties, "{ss}", "data_allowed", BOOL2STRING(modem->data_allowed));
g_variant_builder_close(properties);
- dbg("Exiting");
+ ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Exiting");
return TRUE;
}
{
ps_modem_t *modem = object;
- ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "get modem properties");
g_return_val_if_fail(modem != NULL, FALSE);
g_return_val_if_fail(properties != NULL, FALSE);
+ ps_info_ex_co(_ps_modem_ref_co_modem(modem), "get modem properties");
+
g_variant_builder_init(properties, G_VARIANT_TYPE("a{ss}"));
g_variant_builder_add(properties, "{ss}", "path", modem->path);
g_variant_builder_add(properties, "{ss}", "roaming_allowed", BOOL2STRING(modem->roaming_allowed));
g_variant_builder_add(properties, "{ss}", "data_allowed", BOOL2STRING(modem->data_allowed));
- dbg("Exiting");
+ ps_dbg_ex_co(_ps_modem_ref_co_modem(modem), "Exiting");
return g_variant_builder_end(properties);
}
+gpointer _ps_modem_ref_master(gpointer object)
+{
+ ps_modem_t *modem = object;
+ g_return_val_if_fail(modem != NULL, NULL);
+
+ return modem->p_master;
+}
+
GHashTable *_ps_modem_ref_services(gpointer object)
{
ps_modem_t *modem = object;
return modem->co_modem;
}
+#ifdef TIZEN_SUPPORT_REQUEST_HOOK_PDP_CONTROL
gpointer _ps_modem_ref_work_queue(gpointer object)
{
ps_modem_t *modem = object;
return modem->work_queue;
}
+#endif
gchar *_ps_modem_ref_cp_name(gpointer object)
{
{
GVariant *gv = NULL;
GVariantBuilder properties;
+ ps_modem_t *modem = user_data;
+ CoreObject *co_modem = _ps_modem_ref_co_modem(modem);
- dbg("get modem properties");
+ ps_info_ex_co(co_modem, "get modem properties");
gv = _ps_modem_get_properties(user_data, &properties);
packet_service_modem_complete_get_properties(obj_modem, invocation, gv);
ps_modem_t *modem = user_data;
CoreObject *co_modem = _ps_modem_ref_co_modem(modem);
- ps_dbg_ex_co(co_modem, "modem get service interface");
+ ps_info_ex_co(co_modem, "modem get service interface");
if (modem->services == NULL) {
FAIL_RESPONSE(invocation, PS_ERR_INTERNAL);
g_variant_builder_open(&b_service, G_VARIANT_TYPE("{sa{ss}}"));
path = _ps_service_ref_path(value);
ps_dbg_ex_co(co_modem, "path added [%s]", path);
- g_variant_builder_add(&b_service, "s", path);
+ g_variant_builder_add(&b_service, "s", g_strdup(path));
if (FALSE == _ps_service_get_properties_handler(value, &b_service)) {
g_variant_builder_close(&b_service);
FAIL_RESPONSE(invocation, PS_ERR_INTERNAL);
GHashTableIter iter;
gpointer key, value;
ps_modem_t *modem = user_data;
+ CoreObject *co_modem = _ps_modem_ref_co_modem(modem);
- dbg("modem go dormant all interface");
+ ps_info_ex_co(co_modem, "modem go dormant all interface");
if (modem->services == NULL) {
FAIL_RESPONSE(invocation, PS_ERR_INTERNAL);
g_hash_table_iter_init(&iter, modem->services);
while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
ps_service_t *service = value;
- dbg("service (%p), send dormant request, ", service);
+ ps_dbg_ex_co(co_modem, "service (%p), send dormant request, ", service);
result = tcore_ps_send_dormant_request(service->co_ps, NULL);
}
ps_modem_t *modem = user_data;
CoreObject *co_modem = _ps_modem_ref_co_modem(modem);
- ps_dbg_ex_co(co_modem, "master get the profile list");
+ ps_info_ex_co(co_modem, "master get the profile list");
if (modem->contexts == NULL) {
ps_err_ex_co(co_modem, "no profiles");
}
if (profiles == NULL) {
- ps_dbg_ex_co(co_modem, "no profiles");
+ ps_warn_ex_co(co_modem, "no profiles");
FAIL_RESPONSE(invocation, PS_ERR_NO_PROFILE);
return TRUE;
}
g_strfreev(strv);
g_slist_free_full(profiles, g_free);
- dbg("Exiting");
+ ps_dbg_ex_co(co_modem, "Exiting");
return TRUE;
}
CoreObject *co_modem = _ps_modem_ref_co_modem(modem);
GHashTable *profile_property = NULL;
- ps_dbg_ex_co(co_modem, "add profile request");
+ ps_info_ex_co(co_modem, "add profile request");
operator = _ps_modem_ref_operator(modem);
if (!operator) {
- ps_dbg_ex_co(co_modem, "there is no active modem");
+ ps_warn_ex_co(co_modem, "there is no active modem");
FAIL_RESPONSE(invocation, PS_ERR_INTERNAL);
return TRUE;
}
- /*Create a hash table for the profile property as all fucntion already use ghash table */
+ /*Create a hash table for the profile property as all function already use ghash table */
profile_property = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free);
g_variant_iter_init(&g_iter, property);
while (g_variant_iter_next(&g_iter, "{ss}", &g_key, &g_value)) {
- ps_dbg_ex_co(co_modem, " '%s' value '%s'", g_key, g_value);
+ ps_info_ex_co(co_modem, " '%s' value '%s'", g_key, g_value);
g_hash_table_insert(profile_property, g_strdup(g_key), g_strdup(g_value));
/* must free data for ourselves */
g_free(g_value);
packet_service_modem_complete_add_profile(obj_modem, invocation, TRUE);
g_hash_table_destroy(profile_property);
- dbg("Exiting");
+ ps_dbg_ex_co(co_modem, "Exiting");
return TRUE;
}
co_modem = _ps_modem_ref_co_modem(modem);
ps_dbg_ex_co(co_modem, "Reseting the hash table");
- /* Remove contexts through only service. */
- g_hash_table_iter_init(&iter, modem->services);
- while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
- ps_dbg_ex_co(co_modem, "Remove contexts on service(%p)", value);
- _ps_service_remove_contexts(value);
+ if (modem->powered != PS_MODEM_STATE_ONLINE) {
+ gint index, count;
+ ps_context_t *pscontext;
+
+ count = g_slist_length(modem->contexts);
+ /* Remove contexts directly as there is no service */
+ for (index = 0; index < count; index++) {
+ pscontext = g_slist_nth_data(modem->contexts, index);
+ ps_warn_ex_co(co_modem, "Remove context(%p)", pscontext);
+ _ps_context_remove_context(pscontext);
+ }
+ g_slist_free(modem->contexts);
+ modem->contexts = NULL;
+
+ g_hash_table_iter_init(&iter, modem->services);
+ while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ ps_service_t *service;
+ service = (ps_service_t *)value;
+ ps_warn_ex_co(co_modem, "Remove contexts on service(%p)", value);
+ g_slist_free(service->contexts);
+ service->contexts = NULL;
+ }
+ } else {
+ /* Remove contexts through only service. */
+ g_hash_table_iter_init(&iter, modem->services);
+ while (g_hash_table_iter_next(&iter, &key, &value) == TRUE) {
+ ps_warn_ex_co(co_modem, "Remove contexts on service(%p)", value);
+ _ps_service_remove_contexts(value);
+ }
}
if (modem->type == 0) {
thread = g_thread_new(name, __ps_modem_regenerate_database, modem);
g_free(name);
if (thread == NULL) {
- dbg("Thread is not created");
+ ps_err_ex_co(co_modem, "Thread is not created");
FAIL_RESPONSE(modem->invocation , PS_ERR_INTERNAL);
_ps_modem_remove_profile_reset_gsource(modem);
} else {
- dbg("Thread(%p) is created", thread);
+ ps_dbg_ex_co(co_modem, "Thread(%p) is created", thread);
}
return FALSE;
CoreObject *co_ps;
int state;
- ps_dbg_ex_co(co_modem, "reset profile request type(%d)", type);
+ ps_info_ex_co(co_modem, "reset profile request type(%d)", type);
if (_ps_modem_get_reset_profile(modem) == TRUE) {
ps_err_ex_co(co_modem, "Reset Profile is already in Progress");
contexts_active = tcore_ps_any_context_activating_activated(co_ps, &state);
if (contexts_active == TRUE) {
- ps_dbg_ex_co(co_modem, "Contexts are in [%d] state", state);
+ ps_info_ex_co(co_modem, "Contexts are in [%d] state", state);
if (state == CONTEXT_STATE_ACTIVATED) {
ps_dbg_ex_co(co_modem, "Contexts are in Actived state. Sending Diconnect Notification to all connected contexts");
rv = tcore_ps_deactivate_contexts(co_ps);
if (rv != TCORE_RETURN_SUCCESS)
- ps_dbg_ex_co(co_modem, "fail to deactivation");
+ ps_err_ex_co(co_modem, "fail to deactivation");
} else if (state == CONTEXT_STATE_ACTIVATING) {
ps_dbg_ex_co(co_modem, "Contexts are in Activating state. Wait for them to connect");
}
} else {
- ps_dbg_ex_co(co_modem, "No contexts are in activating or activated state");
- ps_dbg_ex_co(co_modem, "Profiles reset is being initiated");
+ ps_info_ex_co(co_modem, "No contexts are in activating or activated state. Profiles reset is being initiated");
_ps_modem_initiate_reset_profile(modem);
}