On Wed, May 26, 2010 at 07:47, Dan Williams <[email protected]> wrote:

> You want real_get_best_auto_connection() in nm-device-wifi.c.  You're
> passed a list of connections that get sorted through.  The list is
> already sorted by timestamp.  What you want to do is to run through the
> *entire* list (and not stop at the first compatible AP that's found by
> nm_ap_check_compatible() near the bottom) and instead keep a pointer to
> the "best" connection as you define it.
>
> This is a bit complicated because remember that connections are simply
> packages of settings necessary to connect to a specific network, they do
> not describe actual wifi APs.  So the basic procedure would be something
> like:
>
> NMConnection *best_yet = NULL;
> guint32 best_ap_strength = 0;
>
> for each connection in 'connections':
>    <do normal device checking up to AP list iteration>
>
>    for each ap in the device's AP list:
>        if (nm_ap_check_compatible (ap, connection)) {
>            if (nm_ap_get_strength (ap) > best_ap_strength) {
>                best_yet = connection;
>                best_ap_strength = nm_ap_get_strength (ap);
>            }
>        }
>
>    return best_yet;
>
> Dan
>

who am i to comment on this, yet allow me to say it:
outstanding work, clean and pretty ;)

thanks Dan for all of this
_______________________________________________
networkmanager-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to