diff options
Diffstat (limited to 'src/manager.c')
-rw-r--r-- | src/manager.c | 46 |
1 files changed, 27 insertions, 19 deletions
diff --git a/src/manager.c b/src/manager.c index bd44fea4..583b2ad1 100644 --- a/src/manager.c +++ b/src/manager.c @@ -111,20 +111,6 @@ static DBusMessage *set_property(DBusConnection *conn, dbus_message_iter_get_basic(&value, &offlinemode); - if (offlinemode) { - uid_t uid; - if (connman_dbus_get_connection_unix_user_sync(conn, - dbus_message_get_sender(msg), - &uid) < 0) { - DBG("Can not get unix user id!"); - return __connman_error_permission_denied(msg); - } - - if (!__connman_service_is_user_allowed(CONNMAN_SERVICE_TYPE_WIFI, uid)) { - DBG("Not allow this user to turn on offlinemode now!"); - return __connman_error_permission_denied(msg); - } - } __connman_technology_set_offlinemode(offlinemode); } else if (g_str_equal(name, "SessionMode")) { @@ -132,9 +118,8 @@ static DBusMessage *set_property(DBusConnection *conn, return __connman_error_invalid_arguments(msg); dbus_message_iter_get_basic(&value, &sessionmode); - } #if defined TIZEN_EXT - else if (g_str_equal(name, "AutoConnectMode") == TRUE) { + } else if (g_str_equal(name, "AutoConnectMode") == TRUE) { bool automode; if (type != DBUS_TYPE_BOOLEAN) @@ -143,9 +128,8 @@ static DBusMessage *set_property(DBusConnection *conn, dbus_message_iter_get_basic(&value, &automode); __connman_service_set_auto_connect_mode(automode); - } #endif - else + } else return __connman_error_invalid_property(msg); return g_dbus_create_reply(msg, DBUS_TYPE_INVALID); @@ -206,7 +190,7 @@ static void idle_state(bool idle) return; } -static struct connman_notifier technology_notifier = { +static const struct connman_notifier technology_notifier = { .name = "manager", .priority = CONNMAN_NOTIFIER_PRIORITY_HIGH, .idle_state = idle_state, @@ -251,6 +235,27 @@ static DBusMessage *get_peers(DBusConnection *conn, return reply; } +static DBusMessage *get_tethering_clients(DBusConnection *conn, + DBusMessage *msg, void *data) +{ + DBusMessage *reply; + DBusMessageIter iter, array; + + reply = dbus_message_new_method_return(msg); + if (!reply) + return NULL; + + dbus_message_iter_init_append(reply, &iter); + + dbus_message_iter_open_container(&iter, DBUS_TYPE_ARRAY, + DBUS_TYPE_STRING_AS_STRING, &array); + + __connman_tethering_list_clients(&array); + + dbus_message_iter_close_container(&iter, &array); + return reply; +} + static DBusMessage *connect_provider(DBusConnection *conn, DBusMessage *msg, void *data) { @@ -664,6 +669,9 @@ static const GDBusMethodTable manager_methods[] = { { GDBUS_METHOD("GetPeers", NULL, GDBUS_ARGS({ "peers", "a(oa{sv})" }), get_peers) }, + { GDBUS_METHOD("GetTetheringClients", + NULL, GDBUS_ARGS({ "tethering_clients", "as" }), + get_tethering_clients) }, { GDBUS_DEPRECATED_ASYNC_METHOD("ConnectProvider", GDBUS_ARGS({ "provider", "a{sv}" }), GDBUS_ARGS({ "path", "o" }), |