Merge lp:~thomas-voss/location-service/fix-rtd-docs-next into lp:location-service

Proposed by Thomas Voß
Status: Merged
Approved by: Thomas Voß
Approved revision: 274
Merged at revision: 274
Proposed branch: lp:~thomas-voss/location-service/fix-rtd-docs-next
Merge into: lp:location-service
Diff against target: 137 lines (+72/-24)
4 files modified
doc/api.md (+33/-0)
doc/cli.md (+11/-0)
doc/index.rst (+2/-5)
doc/intro.md (+26/-19)
To merge this branch: bzr merge lp:~thomas-voss/location-service/fix-rtd-docs-next
Reviewer Review Type Date Requested Status
Simon Fels (community) Approve
Thomas Voß Pending
Review via email: mp+306439@code.launchpad.net

Commit message

Introduce sections on the service CLI and API.

Description of the change

Introduce sections on the service CLI and API.

To post a comment you must log in.
Revision history for this message
Simon Fels (morphis) wrote :

LGTM

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'doc/api.md'
2--- doc/api.md 1970-01-01 00:00:00 +0000
3+++ doc/api.md 2016-09-22 10:48:21 +0000
4@@ -0,0 +1,33 @@
5+# API
6+
7+Location service exposes a DBus API to interact with a service instance.
8+We do not expose introspection for the API, yet. Instead, we provide a C++ client API that
9+abstracts away from the underlying IPC mechanism.
10+
11+A client application then uses the API to establish a session with a
12+service, register observers to receive updates and to control the
13+status of updates. The following snippet illustrates basic usage of the client API:
14+
15+```{cpp}
16+auto service = location::connect_to_service(...);
17+auto session = service->create_session_for_criteria(location::Criteria{});
18+
19+session->updates().position.changed().connect([this](const location::Update<location::Position>& pos)
20+{
21+ std::cout << pos << std::endl;
22+});
23+
24+session->updates().heading.changed().connect([this](const location::Update<location::units::Degrees>& heading)
25+{
26+ std::cout << pos << std::endl;
27+});
28+
29+session->updates().velocity.changed().connect([this](const location::Update<location::units::MetersPerSecond>& velocity)
30+{
31+ std::cout << pos << std::endl;
32+});
33+
34+session->updates().position_status = location::Service::Session::Updates::Status::enabled;
35+session->updates().heading_status = location::Service::Session::Updates::Status::enabled;
36+session->updates().velocity_status = location::Service::Session::Updates::Status::enabled;
37+```
38
39=== added file 'doc/cli.md'
40--- doc/cli.md 1970-01-01 00:00:00 +0000
41+++ doc/cli.md 2016-09-22 10:48:21 +0000
42@@ -0,0 +1,11 @@
43+# CLI
44+
45+The location service offers a command-line interface for controlling
46+and monitoring the service. The following commands are available:
47+
48+ - list: Lists all provider implementations known to the service.
49+ - monitor: Connects to a location service instance, monitoring its activity.
50+ - provider: Executes a known provider implementation in an out-of-process sandbox.
51+ - run: Executes the service.
52+ - status: Queries the status of a service instance.
53+ - test: Executes runtime tests against known provider implementations.
54
55=== modified file 'doc/index.rst'
56--- doc/index.rst 2016-08-26 13:26:52 +0000
57+++ doc/index.rst 2016-09-22 10:48:21 +0000
58@@ -12,12 +12,9 @@
59 :maxdepth: 2
60
61 intro
62+ cli
63+ api
64 hacking
65- debugging
66- daemon_and_cli
67- manual_testing
68- tips_n_tricks
69-
70
71 Indices and tables
72 ==================
73
74=== modified file 'doc/intro.md'
75--- doc/intro.md 2016-08-26 13:41:21 +0000
76+++ doc/intro.md 2016-09-22 10:48:21 +0000
77@@ -11,27 +11,25 @@
78 To make the remainder of this documentation as easily understandable
79 as possible, we start over with introducing some vocabulary:
80
81-- Engine:
82- Responsible for handling input from multiple positioning
83- subsystems and maintaining the state of the overall system. Think
84- about it like the heart of the system.
85-
86-- Provider:
87- A positioning subsystem that feeds into the positioning
88- engine. Common examples are a GPS provider or a network-based
89- positioning provider.
90-
91-- Service:
92- The point of entry for applications and services that would
93- like to receive position data.
94-
95-- Session:
96- In order to receive position information, every application
97- or service has to create a session with the location Service.
98+ - Engine: Responsible for handling input from multiple positioning
99+ subsystems and maintaining the state of the overall system. Think
100+ about it like the heart of the system.
101+
102+ - Provider: A positioning subsystem that feeds into the positioning
103+ engine. Common examples are a GPS provider or a network-based
104+ positioning provider.
105+
106+ - Service: The point of entry for applications and services that would
107+ like to receive position data.
108+
109+ - Session: In order to receive position information, every application
110+ or service has to create a session with the location Service.
111+ Session creation is subject to security mediation and contextual
112+ prompting.
113
114 - Update: An update is a timestamped entity to a certain type of data.
115
116-- [WGS84, http://en.wikipedia.org/wiki/World_Geodetic_System]: The coordinate system that is used throughout the entire location subsystem.
117+- [WGS84](http://en.wikipedia.org/wiki/World_Geodetic_System): The coordinate system that is used throughout the entire location subsystem.
118
119 ## Architectural Overview
120
121@@ -48,7 +46,16 @@
122 The Service takes this configuration and exposes it to client
123 applications. In addition, mainly for debugging purposes, the set of
124 currently visible satellites (if any) is maintained and exposed to
125-privileged client applications.
126+privileged client applications. The service supports multiple different satellite-based
127+positioning operating in parallel. The following GNSSs are known:
128+
129+ * Beidou: People's Republic of China's regional system, currently limited to Asia and the West Pacific.
130+ * Galileo: A global system being developed by the European Union and other partner countries, planned to be operational by 2014 (and fully deployed by 2019).
131+ * Glonass: Russia's global navigation system. Fully operational worldwide.
132+ * GPS: Fully operational worldwide.
133+ * Compass: People's Republic of China's global system, planned to be operational by 2020.
134+ * IRNSS: India's regional navigation system, planned to be operational by 2014, covering India and Northern Indian Ocean.
135+ * QZSS: Japanese regional system covering Asia and Oceania.
136
137 ## Privacy & Access Control
138

Subscribers

People subscribed via source and target branches

to all changes: