ubuntu-location-service: /build/location-service-git/src/location-service/include/location_service/com/ubuntu/location/update_selector.h Source File

ubuntu-location-service .. An aggregating location service providing positioning and geocoding capabilities to applications.

update_selector.h
Go to the documentation of this file.
1 /*
2 * Copyright © 2016 Canonical Ltd.
3 *
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU Lesser General Public License version 3,
6 * as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU Lesser General Public License for more details.
12 *
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * Authored by: Scott Sweeny <scott.sweeny@canonical.com
17 */
18 #ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_UPDATE_SELECTOR_H
19 #define LOCATION_SERVICE_COM_UBUNTU_LOCATION_UPDATE_SELECTOR_H
20
21 #include <com/ubuntu/location/update.h>
22 #include <com/ubuntu/location/position.h>
23
24 namespace com
25 {
26 namespace ubuntu
27 {
28 namespace location
29 {
30
31 template<typename T>
32 struct WithSource { std::shared_ptr<Provider> source; T value; };
33
34 class UpdateSelector
35 {
36 public:
37 typedef std::shared_ptr<UpdateSelector> Ptr;
38
39 UpdateSelector(const UpdateSelector&) = delete;
40 UpdateSelector& operator=(const UpdateSelector&) = delete;
41 virtual ~UpdateSelector() = default;
42
43 virtual WithSource<Update<Position>> select(const WithSource<Update<Position>>& older,
44 const WithSource<Update<Position>>& newer) = 0;
45
46 protected:
47 UpdateSelector() = default;
48 };
49 }
50 }
51 }
52 #endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_UPDATE_SELECTOR_H
53
com::ubuntu::location::UpdateSelector
Definition: update_selector.h:35
com::ubuntu::location::UpdateSelector::~UpdateSelector
virtual ~UpdateSelector()=default
com::ubuntu::location::UpdateSelector::UpdateSelector
UpdateSelector()=default
com::ubuntu::location::UpdateSelector::operator=
UpdateSelector & operator=(const UpdateSelector &)=delete
com::ubuntu::location::UpdateSelector::select
virtual WithSource< Update< Position > > select(const WithSource< Update< Position >> &older, const WithSource< Update< Position >> &newer)=0
com::ubuntu::location::UpdateSelector::Ptr
std::shared_ptr< UpdateSelector > Ptr
Definition: update_selector.h:37
com::ubuntu::location::UpdateSelector::UpdateSelector
UpdateSelector(const UpdateSelector &)=delete
com
Definition: accuracy.h:24
position.h
com::ubuntu::location::Update
Templated class that wraps a value and timestamp.
Definition: update.h:37
com::ubuntu::location::WithSource
Definition: update_selector.h:32
com::ubuntu::location::WithSource::source
std::shared_ptr< Provider > source
Definition: update_selector.h:32
com::ubuntu::location::WithSource::value
T value
Definition: update_selector.h:32
update.h