summaryrefslogtreecommitdiff
path: root/src/gclue-static-source.h
diff options
context:
space:
mode:
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>2023-01-05 20:47:24 +0100
committerMaciej S. Szmigiero <maciej.szmigiero@oracle.com>2023-01-15 13:50:23 +0100
commitcb66669cff959046c8ef02abe13fc4f1a68660c5 (patch)
treed969ebeecb694d25b007068242916f435d77c7f0 /src/gclue-static-source.h
parent0cc334a44ed0384785379996e7f20e85f26e624f (diff)
downloadgeoclue-cb66669cff959046c8ef02abe13fc4f1a68660c5.tar.gz
Add static location source
There were many requests to provide a static location source for systems which don't normally move but where the existing location sources provide poor location estimate. An example of such system would be a desktop PC without WiFi or 3G modem. So let's add a source that reads location from "geolocation" file in @sysconfdir@ (normally /etc) to cover this use case. This file is constantly monitored for changes during Geoclue operation and the reported static location is updated accordingly. The geoclue(5) man page should be consulted for the format description of this file.
Diffstat (limited to 'src/gclue-static-source.h')
-rw-r--r--src/gclue-static-source.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/gclue-static-source.h b/src/gclue-static-source.h
new file mode 100644
index 0000000..acf0f62
--- /dev/null
+++ b/src/gclue-static-source.h
@@ -0,0 +1,40 @@
+/* vim: set et ts=8 sw=8: */
+/*
+ * Copyright © 2022,2023 Oracle and/or its affiliates.
+ *
+ * Geoclue is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ *
+ * Geoclue is distributed in the hope that it will be useful, but WITHOUT ANY
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with Geoclue; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#ifndef GCLUE_STATIC_SOURCE_H
+#define GCLUE_STATIC_SOURCE_H
+
+#include <glib.h>
+#include "gclue-location-source.h"
+
+G_BEGIN_DECLS
+
+#define GCLUE_TYPE_STATIC_SOURCE gclue_static_source_get_type ()
+
+G_DECLARE_FINAL_TYPE (GClueStaticSource,
+ gclue_static_source,
+ GCLUE, STATIC_SOURCE,
+ GClueLocationSource)
+
+GClueStaticSource *gclue_static_source_get_singleton (GClueAccuracyLevel level);
+
+G_END_DECLS
+
+#endif /* GCLUE_STATIC_SOURCE_H */