GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
g_free(ip);
g_free(mac);
g_free(name);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
dcb(TETHERING_ERROR_NONE, type, code, data);
}
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
tethering_enabled_cb ecb = NULL;
void *data = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
ecb = th->enabled_cb[type];
- if (ecb == NULL)
+ if (ecb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->enabled_user_data[type];
ecb(TETHERING_ERROR_NONE, type, is_requested, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
char *buf = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
dcb = th->disabled_cb[type];
- if (dcb == NULL)
+ if (dcb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->disabled_user_data[type];
g_variant_get(parameters, "(s)", &buf);
if (!g_strcmp0(buf, SIGNAL_MSG_NOT_AVAIL_INTERFACE))
g_free(buf);
dcb(TETHERING_ERROR_NONE, type, code, data);
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
tethering_enabled_cb ecb = NULL;
void *data = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
ecb = th->enabled_cb[type];
- if (ecb == NULL)
+ if (ecb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->enabled_user_data[type];
ecb(TETHERING_ERROR_NONE, type, is_requested, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
char *buf = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
dcb = th->disabled_cb[type];
- if (dcb == NULL)
+ if (dcb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->disabled_user_data[type];
g_variant_get(parameters, "(s)", &buf);
dcb(TETHERING_ERROR_NONE, type, code, data);
g_free(buf);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
tethering_enabled_cb ecb = NULL;
void *data = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
ecb = th->enabled_cb[type];
- if (ecb == NULL)
+ if (ecb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->enabled_user_data[type];
ecb(TETHERING_ERROR_NONE, type, is_requested, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
char *buf = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
dcb = th->disabled_cb[type];
- if (dcb == NULL)
+ if (dcb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
+
data = th->disabled_user_data[type];
g_variant_get(parameters, "(s)", &buf);
if (!g_strcmp0(buf, SIGNAL_MSG_NOT_AVAIL_INTERFACE))
dcb(TETHERING_ERROR_NONE, type, code, data);
g_free(buf);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
tethering_disabled_cause_e code = TETHERING_DISABLED_BY_TIMEOUT;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
for (type = TETHERING_TYPE_USB; type <= TETHERING_TYPE_BT; type++) {
dcb = th->disabled_cb[type];
if (dcb == NULL)
dcb(TETHERING_ERROR_NONE, type, code, data);
}
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
tethering_disabled_cause_e code = TETHERING_DISABLED_BY_LOW_BATTERY;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
for (type = TETHERING_TYPE_USB; type <= TETHERING_TYPE_BT; type++) {
dcb = th->disabled_cb[type];
if (dcb == NULL)
dcb(TETHERING_ERROR_NONE, type, code, data);
}
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
void *data = NULL;
tethering_disabled_cause_e code = TETHERING_DISABLED_BY_FLIGHT_MODE;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
for (type = TETHERING_TYPE_USB; type <= TETHERING_TYPE_BT; type++) {
dcb = th->disabled_cb[type];
if (dcb == NULL)
dcb(TETHERING_ERROR_NONE, type, code, data);
}
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
__tethering_h *th = (__tethering_h *)user_data;
tethering_wifi_security_type_e security_type;
char *buf = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
scb = th->security_type_changed_cb;
- if (scb == NULL)
+ if (scb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
g_variant_get(parameters, "(s)", &buf);
data = th->security_type_user_data;
else {
SERR("Unknown type : %s\n", buf);
g_free(buf);
+ TETHERING_UNLOCK;
return;
}
g_free(buf);
scb(security_type, data);
+ TETHERING_UNLOCK;
return;
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
__tethering_h *th = (__tethering_h *)user_data;
bool visible = false;
char *buf = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
scb = th->ssid_visibility_changed_cb;
if (scb == NULL) {
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
scb(visible, data);
g_free(buf);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
GVariant *parameters, gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
__tethering_h *th = (__tethering_h *)user_data;
tethering_wifi_passphrase_changed_cb pcb = NULL;
void *data = NULL;
+ if (!_tethering_check_handle(th)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
pcb = th->passphrase_changed_cb;
- if (pcb == NULL)
+ if (pcb == NULL) {
+ TETHERING_UNLOCK;
return;
+ }
data = th->passphrase_user_data;
pcb(data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
gpointer user_data)
{
INFO("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
GError *g_error = NULL;
tethering_enabled_cb ecb = th->enabled_cb[type];
void *data = th->enabled_user_data[type];
- if (!_tethering_check_handle((tethering_h)user_data))
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
return;
+ }
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
++retry < TETHERING_ERROR_RECOVERY_MAX) {
g_error_free(g_error);
tethering_enable((tethering_h)th, type);
+ TETHERING_UNLOCK;
return;
} else if (g_error->code == G_DBUS_ERROR_ACCESS_DENIED)
error = TETHERING_ERROR_PERMISSION_DENIED;
SINFO("Tethering enabled event ! error(%d)", error);
if (!ecb) {
+ TETHERING_UNLOCK;
INFO("-\n");
return;
}
ecb(error, type, true, data);
g_variant_unref(g_var);
+
+ TETHERING_UNLOCK;
INFO("-\n");
}
gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
+
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
GError *g_error = NULL;
GVariant *g_var;
tethering_enabled_cb ecb = th->enabled_cb[TETHERING_TYPE_BT];
void *data = th->enabled_user_data[TETHERING_TYPE_BT];
- if (!_tethering_check_handle((tethering_h)user_data))
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
return;
+ }
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
++retry < TETHERING_ERROR_RECOVERY_MAX) {
g_error_free(g_error);
tethering_enable((tethering_h)th, TETHERING_TYPE_BT);
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
sigs[E_SIGNAL_BT_TETHER_ON].cb, (gpointer)th, NULL);
if (!ecb) {
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
ecb(error, TETHERING_TYPE_BT, true, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
__tethering_h *th = (__tethering_h *)user_data;
tethering_enabled_cb ecb = th->enabled_cb[TETHERING_TYPE_USB];
void *data = th->enabled_user_data[TETHERING_TYPE_USB];
- if (!_tethering_check_handle((tethering_h)user_data))
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
return;
+ }
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
++retry < TETHERING_ERROR_RECOVERY_MAX) {
g_error_free(g_error);
tethering_enable((tethering_h)th, TETHERING_TYPE_USB);
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
sigs[E_SIGNAL_USB_TETHER_ON].cb, (gpointer)th, NULL);
if (!ecb) {
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
ecb(error, TETHERING_TYPE_USB, true, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
__tethering_h *th = (__tethering_h *)user_data;
tethering_enabled_cb ecb = th->enabled_cb[TETHERING_TYPE_P2P];
void *data = th->enabled_user_data[TETHERING_TYPE_P2P];
- if (!_tethering_check_handle((tethering_h)user_data))
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
return;
+ }
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
++retry < TETHERING_ERROR_RECOVERY_MAX) {
g_error_free(g_error);
tethering_enable((tethering_h)th, TETHERING_TYPE_P2P);
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
retry = 0;
if (!ecb) {
+ TETHERING_UNLOCK;
DBG("-\n");
return;
}
ecb(error, TETHERING_TYPE_P2P, true, data);
+
+ TETHERING_UNLOCK;
DBG("-\n");
}
gpointer user_data)
{
INFO("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
GError *g_error = NULL;
tethering_disabled_cb dcb = NULL;
void *data = NULL;
- if (!_tethering_check_handle((tethering_h)user_data))
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
return;
+ }
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
ERR("DBus error [%s]\n", g_error->message);
g_error_free(g_error);
+ TETHERING_UNLOCK;
return;
}
g_variant_get(g_var, "(uu)", &event_type, &info);
ERR("Invalid event\n");
break;
}
+
+ TETHERING_UNLOCK;
INFO("-\n");
}
gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
tethering_error_e tethering_error = TETHERING_ERROR_NONE;
bool flag = false;
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
ERR("DBus fail [%s]\n", g_error->message);
}
if (th->data_usage_cb == NULL) {
ERR("There is no data_usage_cb\n");
+ TETHERING_UNLOCK;
return;
}
if (flag) {
th->data_usage_cb = NULL;
th->data_usage_user_data = NULL;
+ TETHERING_UNLOCK;
DBG("-\n");
}
gpointer user_data)
{
DBG("+\n");
+ TETHERING_LOCK;
_retm_if(user_data == NULL, "parameter(user_data) is NULL\n");
GError *g_error = NULL;
__tethering_h *th = (__tethering_h *)user_data;
tethering_error_e tethering_error = TETHERING_ERROR_NONE;
+ if (!_tethering_check_handle((tethering_h)user_data)) {
+ DBG("Tethering handle is not valid now, ignore it.");
+ TETHERING_UNLOCK;
+ return;
+ }
+
g_var = g_dbus_proxy_call_finish(th->client_bus_proxy, res, &g_error);
if (g_error) {
ERR("DBus fail [%s]\n", g_error->message);
if (th->settings_reloaded_cb == NULL) {
DBG("There is no settings_reloaded_cb\n-\n");
+ TETHERING_UNLOCK;
return;
}
th->settings_reloaded_cb = NULL;
th->settings_reloaded_user_data = NULL;
+
+ TETHERING_UNLOCK;
DBG("-\n");
}