lomiri-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_LOMIRI_LOCATION_UPDATE_SELECTOR_H
19
#define LOCATION_SERVICE_COM_LOMIRI_LOCATION_UPDATE_SELECTOR_H
20
21
#include <
com/lomiri/location/update.h
>
22
#include <
com/lomiri/location/position.h
>
23
24
namespace
com
25
{
26
namespace
lomiri
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_LOMIRI_LOCATION_UPDATE_SELECTOR_H
53
com::lomiri::location::UpdateSelector::operator=
UpdateSelector & operator=(const UpdateSelector &)=delete
com::lomiri::location::UpdateSelector::Ptr
std::shared_ptr< UpdateSelector > Ptr
Definition:
update_selector.h:37
com::lomiri::location::UpdateSelector::select
virtual WithSource< Update< Position > > select(const WithSource< Update< Position >> &older, const WithSource< Update< Position >> &newer)=0
update.h
com::lomiri::location::UpdateSelector::UpdateSelector
UpdateSelector()=default
com::lomiri::location::UpdateSelector
Definition:
update_selector.h:34
position.h
com::lomiri::location::WithSource::value
T value
Definition:
update_selector.h:32
com::lomiri::location::UpdateSelector::~UpdateSelector
virtual ~UpdateSelector()=default
com::lomiri::location::WithSource::source
std::shared_ptr< Provider > source
Definition:
update_selector.h:32
com
Definition:
accuracy.h:23
com::lomiri::location::Update
Templated class that wraps a value and timestamp.
Definition:
update.h:36
com::lomiri::location::WithSource
Definition:
update_selector.h:32
include
location_service
com
lomiri
location
update_selector.h
Generated on Fri Nov 10 2023 18:26:46 for lomiri-location-service by
1.8.17