Age | Commit message (Collapse) | Author | Files | Lines |
|
GClueLocation does not inherit from and therefore does not depend on
GeocodeLocation class anymore. This is in preparation for dropping the
internal geocode-glib copy in a following patch.
|
|
This was generating a warning from gcc.
|
|
Use the G_ADD_PRIVATE() macro instead.
This doesn't fix the issue in geocode-glib but that's not an issue since
we plan to drop geocode-glib (#88).
Fixes #98.
|
|
Add a method for apps to explicitly delete their client objects. This is
useful for long-running applications (e.g gnome-settings-daemon) for
freeing their associated resources while they are not using Geoclue. This
will also allow geoclue to exit when it's not actually being used by these
applications.
Relevant: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/issues/127
Fixes #99.
|
|
If BSS list hasn't changed since the last location refresh, not much point
in refreshing location and sending redundant query to MLS.
Fixes #100.
|
|
Typically people can't go very far in 10 seconds so no need to scan
continuously for even high-accuracy requests.
Fixes #100.
|
|
Let's wait for the scan to be complete (takes 5 seconds currently) before
refreshing location to avoid spamming Mozilla Location Service.
Fixes #100.
|
|
|
|
Log addition of new BSS after actually adding it and only if it's really
new.
|
|
|
|
We modified `Manager.GetClient` method in 3e1d9bf4 (service: Allow
multiple clients on the same connection) and while that made things
possible for the Flatpak location portal, it meant us creating
redundant clients for existing system apps (e.g gnome-settings-daemon) and
we don't want that.
This patch changes `GetClient` to the old behaviour of reusing existing
clients and adds a new method `CreateClient` that always creates a new
client object.
Fixes #96.
Also related: #79.
|
|
|
|
Fixes #97.
|
|
With the current definition of service being active to be non-0 number of
active clients, we can end up exiting even though multiple clients are
connected. We don't want that since the client information is not
persistent.
|
|
g_list_length() could be an expensive call, depending on number of clients
so best to just keep our own counter for number of connected clients.
|
|
|
|
`num_clients` is confusing.
|
|
|
|
It seems by default, wpa_supplicant won't keep a list of BSS around but
only if it has done a scan recently. This means we currently end up with
very bad accuracy since we only send out the ESSID of the currently
connected WiFi (if any).
To fix this, we'll now tell wpa_supplicant to start a scan when the source is
started. We keep doing that continuously if accuracy is street level or higher,
but wait 5 minutues between scans if requested accuracy is lower than that.
Fixes #91.
|
|
We'll need this in a following patch to start WiFi scan to be able to get
the most accurate location.
Related: #91
|
|
src/gclue-web-source.c:181:35: warning: passing argument 2 of ‘on_network_changed’ makes integer from pointer without a cast [-Wint-conversion]
on_network_changed (NULL, NULL, user_data);
^~~~
src/freedesktop/geoclue/geoclue/src/gclue-web-source.c:135:38: note: expected ‘gboolean’ {aka ‘int’} but argument is of type ‘void *’
gboolean available G_GNUC_UNUSED,
|
|
Since 5ae456312c941ba2951563de0aef64ca5c25b0e6, GLib 2.44 has been a
hard dependency.
|
|
This matches the Autotools change in
5ae456312c941ba2951563de0aef64ca5c25b0e6. Even though the Autotools
build was subsequently dropped, the use of g_autofree remains.
|
|
Macros GCLUE_USE_3G_SOURCE, GCLUE_USE_CDMA_SOURCE,
GCLUE_USE_MODEM_GPS_SOURCE and GCLUE_USE_NMEA_SOURCE are not defined
anymore since the move to meson build system, therefore location through
modem gps is unavailable. This commit adds the macro definitions when the
corresponding options are enabled.
|
|
We don't want to stop a system app client on agent's behalf but our check
for system apps was inverted so we ended up doing the opposite. :( Thanks
to Florian Müllner for pointing this out.
|
|
|
|
This is needed to ease the implementation of the Flatpak location portal.
Fixes #79.
|
|
Going from limited ("captive portal") to full internet should update the
internet availability.
|
|
Rather than calling get_internet_available() too often, use the cached
->internet_available variable and call get_internet_available() when
network status has actually changed.
|
|
Thanks to lintian
|
|
This eliminates a lot of get_option and some join_paths.
|
|
Removes the need for a separate abs_dbus_interface_dir.
|
|
This is a better name as it's not absolute but a subdirectory of the
includedir, relative to the prefix.
Also rename the identical install_dir in public-api.
|
|
|
|
Much like libexecdir, sysconfdir is relative if and only if contained
within the prefix.
|
|
These were missed in dc46a4d942dc.
|
|
|
|
This function was being generated when we were using autotools because it
was part of our template. We unintentially dropped it when we ported to
meson's gnome.mkenums_simple() as that uses it's own template that doesn't
include this function.
This broke ABI in 2.5.0 and hence we now re-add it, implementing it
manually.
Fixes #90.
|
|
|
|
get_option('libexecdir') contains the path to libexecdir WITHOUT the
prefix, we need to prepend the correct prefix to the expanded path is
correct
|
|
|
|
Hardcoding paths to interpreters seldom works on *BSD. The ports system
allows users to choose their preferred installation prefix as long as it
is not /usr. This makes it nearly impossible to have a common path of
python3 which works on both GNU/Linux and *BSD.
|
|
|
|
|
|
|
|
On debian-based systems, there is no '/bin/python3'.
|
|
We were doing this already but forgot to port this from autotools to meson.
|
|
|
|
I'm not sure why we were building these from sources.
|
|
CI already does this for us. Before this change, we were always building
the master branch and that meant merge requests weren't getting tested.
|