mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-01-03 10:32:33 +01:00
device: Remove the rest of the legacy Device properties
This commit is contained in:
parent
42e5dbf6f8
commit
d347100ac2
75
src/device.c
75
src/device.c
@ -98,23 +98,6 @@ static bool device_property_get_address(struct l_dbus *dbus,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool device_property_get_connected_network(struct l_dbus *dbus,
|
|
||||||
struct l_dbus_message *message,
|
|
||||||
struct l_dbus_message_builder *builder,
|
|
||||||
void *user_data)
|
|
||||||
{
|
|
||||||
struct device *device = user_data;
|
|
||||||
struct station *station = device->station;
|
|
||||||
|
|
||||||
if (!station || !station->connected_network)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
l_dbus_message_builder_append_basic(builder, 'o',
|
|
||||||
network_get_path(station->connected_network));
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool device_property_get_powered(struct l_dbus *dbus,
|
static bool device_property_get_powered(struct l_dbus *dbus,
|
||||||
struct l_dbus_message *message,
|
struct l_dbus_message *message,
|
||||||
struct l_dbus_message_builder *builder,
|
struct l_dbus_message_builder *builder,
|
||||||
@ -256,57 +239,6 @@ static struct l_dbus_message *device_property_set_4addr(struct l_dbus *dbus,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool device_property_get_scanning(struct l_dbus *dbus,
|
|
||||||
struct l_dbus_message *message,
|
|
||||||
struct l_dbus_message_builder *builder,
|
|
||||||
void *user_data)
|
|
||||||
{
|
|
||||||
struct device *device = user_data;
|
|
||||||
struct station *station = device->station;
|
|
||||||
bool scanning;
|
|
||||||
|
|
||||||
if (!station)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
scanning = station->scanning;
|
|
||||||
|
|
||||||
l_dbus_message_builder_append_basic(builder, 'b', &scanning);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool device_property_get_state(struct l_dbus *dbus,
|
|
||||||
struct l_dbus_message *message,
|
|
||||||
struct l_dbus_message_builder *builder,
|
|
||||||
void *user_data)
|
|
||||||
{
|
|
||||||
struct device *device = user_data;
|
|
||||||
const char *statestr;
|
|
||||||
|
|
||||||
/* TODO: Remove when Device/Station split is done */
|
|
||||||
if (netdev_get_iftype(device->netdev) != NETDEV_IFTYPE_STATION) {
|
|
||||||
uint32_t iftype = netdev_get_iftype(device->netdev);
|
|
||||||
l_dbus_message_builder_append_basic(builder, 's',
|
|
||||||
dbus_iftype_to_string(iftype));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (device->powered == false) {
|
|
||||||
l_dbus_message_builder_append_basic(builder,
|
|
||||||
's', "disconnected");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
statestr = station_state_to_string(device->station->state);
|
|
||||||
|
|
||||||
/* Special case. For now we treat AUTOCONNECT as disconnected */
|
|
||||||
if (device->station->state == STATION_STATE_AUTOCONNECT)
|
|
||||||
statestr = "disconnected";
|
|
||||||
|
|
||||||
l_dbus_message_builder_append_basic(builder, 's', statestr);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool device_property_get_adapter(struct l_dbus *dbus,
|
static bool device_property_get_adapter(struct l_dbus *dbus,
|
||||||
struct l_dbus_message *message,
|
struct l_dbus_message *message,
|
||||||
struct l_dbus_message_builder *builder,
|
struct l_dbus_message_builder *builder,
|
||||||
@ -410,19 +342,12 @@ static void setup_device_interface(struct l_dbus_interface *interface)
|
|||||||
device_property_get_name, NULL);
|
device_property_get_name, NULL);
|
||||||
l_dbus_interface_property(interface, "Address", 0, "s",
|
l_dbus_interface_property(interface, "Address", 0, "s",
|
||||||
device_property_get_address, NULL);
|
device_property_get_address, NULL);
|
||||||
l_dbus_interface_property(interface, "ConnectedNetwork", 0, "o",
|
|
||||||
device_property_get_connected_network,
|
|
||||||
NULL);
|
|
||||||
l_dbus_interface_property(interface, "WDS", 0, "b",
|
l_dbus_interface_property(interface, "WDS", 0, "b",
|
||||||
device_property_get_4addr,
|
device_property_get_4addr,
|
||||||
device_property_set_4addr);
|
device_property_set_4addr);
|
||||||
l_dbus_interface_property(interface, "Powered", 0, "b",
|
l_dbus_interface_property(interface, "Powered", 0, "b",
|
||||||
device_property_get_powered,
|
device_property_get_powered,
|
||||||
device_property_set_powered);
|
device_property_set_powered);
|
||||||
l_dbus_interface_property(interface, "Scanning", 0, "b",
|
|
||||||
device_property_get_scanning, NULL);
|
|
||||||
l_dbus_interface_property(interface, "State", 0, "s",
|
|
||||||
device_property_get_state, NULL);
|
|
||||||
l_dbus_interface_property(interface, "Adapter", 0, "o",
|
l_dbus_interface_property(interface, "Adapter", 0, "o",
|
||||||
device_property_get_adapter, NULL);
|
device_property_get_adapter, NULL);
|
||||||
l_dbus_interface_property(interface, "Mode", 0, "s",
|
l_dbus_interface_property(interface, "Mode", 0, "s",
|
||||||
|
@ -49,6 +49,38 @@
|
|||||||
static struct l_queue *station_list;
|
static struct l_queue *station_list;
|
||||||
static uint32_t netdev_watch;
|
static uint32_t netdev_watch;
|
||||||
|
|
||||||
|
struct station {
|
||||||
|
enum station_state state;
|
||||||
|
struct watchlist state_watches;
|
||||||
|
struct scan_bss *connected_bss;
|
||||||
|
struct network *connected_network;
|
||||||
|
struct l_queue *autoconnect_list;
|
||||||
|
struct l_queue *bss_list;
|
||||||
|
struct l_hashmap *networks;
|
||||||
|
struct l_queue *networks_sorted;
|
||||||
|
struct l_dbus_message *connect_pending;
|
||||||
|
struct l_dbus_message *disconnect_pending;
|
||||||
|
struct l_dbus_message *scan_pending;
|
||||||
|
struct signal_agent *signal_agent;
|
||||||
|
|
||||||
|
/* Roaming related members */
|
||||||
|
struct timespec roam_min_time;
|
||||||
|
struct l_timeout *roam_trigger_timeout;
|
||||||
|
uint32_t roam_scan_id;
|
||||||
|
uint8_t preauth_bssid[6];
|
||||||
|
|
||||||
|
struct wiphy *wiphy;
|
||||||
|
struct netdev *netdev;
|
||||||
|
|
||||||
|
bool seen_hidden_networks : 1;
|
||||||
|
bool preparing_roam : 1;
|
||||||
|
bool signal_low : 1;
|
||||||
|
bool roam_no_orig_ap : 1;
|
||||||
|
bool ap_directed_roaming : 1;
|
||||||
|
bool scanning : 1;
|
||||||
|
bool autoconnect : 1;
|
||||||
|
};
|
||||||
|
|
||||||
struct wiphy *station_get_wiphy(struct station *station)
|
struct wiphy *station_get_wiphy(struct station *station)
|
||||||
{
|
{
|
||||||
return station->wiphy;
|
return station->wiphy;
|
||||||
@ -539,8 +571,6 @@ static bool new_scan_results(uint32_t wiphy_id, uint32_t ifindex, int err,
|
|||||||
station->scanning = false;
|
station->scanning = false;
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "Scanning");
|
IWD_STATION_INTERFACE, "Scanning");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "Scanning");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err)
|
if (err)
|
||||||
@ -563,8 +593,6 @@ static void periodic_scan_trigger(int err, void *user_data)
|
|||||||
station->scanning = true;
|
station->scanning = true;
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "Scanning");
|
IWD_STATION_INTERFACE, "Scanning");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "Scanning");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void periodic_scan_stop(struct station *station)
|
static void periodic_scan_stop(struct station *station)
|
||||||
@ -578,8 +606,6 @@ static void periodic_scan_stop(struct station *station)
|
|||||||
station->scanning = false;
|
station->scanning = false;
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "Scanning");
|
IWD_STATION_INTERFACE, "Scanning");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "Scanning");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -617,12 +643,9 @@ static void station_enter_state(struct station *station,
|
|||||||
disconnected = station->state <= STATION_STATE_AUTOCONNECT;
|
disconnected = station->state <= STATION_STATE_AUTOCONNECT;
|
||||||
|
|
||||||
if ((disconnected && state > STATION_STATE_AUTOCONNECT) ||
|
if ((disconnected && state > STATION_STATE_AUTOCONNECT) ||
|
||||||
(!disconnected && state != station->state)) {
|
(!disconnected && state != station->state))
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "State");
|
IWD_STATION_INTERFACE, "State");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "State");
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case STATION_STATE_AUTOCONNECT:
|
case STATION_STATE_AUTOCONNECT:
|
||||||
@ -712,8 +735,6 @@ static void station_reset_connection_state(struct station *station)
|
|||||||
|
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "ConnectedNetwork");
|
|
||||||
l_dbus_property_changed(dbus, network_get_path(network),
|
l_dbus_property_changed(dbus, network_get_path(network),
|
||||||
IWD_NETWORK_INTERFACE, "Connected");
|
IWD_NETWORK_INTERFACE, "Connected");
|
||||||
}
|
}
|
||||||
@ -1610,8 +1631,6 @@ int __station_connect_network(struct station *station, struct network *network,
|
|||||||
|
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(netdev),
|
||||||
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
IWD_STATION_INTERFACE, "ConnectedNetwork");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "ConnectedNetwork");
|
|
||||||
l_dbus_property_changed(dbus, network_get_path(network),
|
l_dbus_property_changed(dbus, network_get_path(network),
|
||||||
IWD_NETWORK_INTERFACE, "Connected");
|
IWD_NETWORK_INTERFACE, "Connected");
|
||||||
|
|
||||||
@ -1900,8 +1919,6 @@ static void station_dbus_scan_triggered(int err, void *user_data)
|
|||||||
station->scanning = true;
|
station->scanning = true;
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
||||||
IWD_STATION_INTERFACE, "Scanning");
|
IWD_STATION_INTERFACE, "Scanning");
|
||||||
l_dbus_property_changed(dbus, netdev_get_path(station->netdev),
|
|
||||||
IWD_DEVICE_INTERFACE, "Scanning");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct l_dbus_message *station_dbus_scan(struct l_dbus *dbus,
|
static struct l_dbus_message *station_dbus_scan(struct l_dbus *dbus,
|
||||||
|
@ -42,38 +42,6 @@ typedef void (*station_foreach_func_t)(struct station *, void *data);
|
|||||||
typedef void (*station_state_watch_func_t)(enum station_state, void *userdata);
|
typedef void (*station_state_watch_func_t)(enum station_state, void *userdata);
|
||||||
typedef void (*station_destroy_func_t)(void *userdata);
|
typedef void (*station_destroy_func_t)(void *userdata);
|
||||||
|
|
||||||
struct station {
|
|
||||||
enum station_state state;
|
|
||||||
struct watchlist state_watches;
|
|
||||||
struct scan_bss *connected_bss;
|
|
||||||
struct network *connected_network;
|
|
||||||
struct l_queue *autoconnect_list;
|
|
||||||
struct l_queue *bss_list;
|
|
||||||
struct l_hashmap *networks;
|
|
||||||
struct l_queue *networks_sorted;
|
|
||||||
struct l_dbus_message *connect_pending;
|
|
||||||
struct l_dbus_message *disconnect_pending;
|
|
||||||
struct l_dbus_message *scan_pending;
|
|
||||||
struct signal_agent *signal_agent;
|
|
||||||
|
|
||||||
/* Roaming related members */
|
|
||||||
struct timespec roam_min_time;
|
|
||||||
struct l_timeout *roam_trigger_timeout;
|
|
||||||
uint32_t roam_scan_id;
|
|
||||||
uint8_t preauth_bssid[6];
|
|
||||||
|
|
||||||
struct wiphy *wiphy;
|
|
||||||
struct netdev *netdev;
|
|
||||||
|
|
||||||
bool seen_hidden_networks : 1;
|
|
||||||
bool preparing_roam : 1;
|
|
||||||
bool signal_low : 1;
|
|
||||||
bool roam_no_orig_ap : 1;
|
|
||||||
bool ap_directed_roaming : 1;
|
|
||||||
bool scanning : 1;
|
|
||||||
bool autoconnect : 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct wiphy *station_get_wiphy(struct station *station);
|
struct wiphy *station_get_wiphy(struct station *station);
|
||||||
struct netdev *station_get_netdev(struct station *station);
|
struct netdev *station_get_netdev(struct station *station);
|
||||||
struct network *station_get_connected_network(struct station *station);
|
struct network *station_get_connected_network(struct station *station);
|
||||||
|
Loading…
Reference in New Issue
Block a user