update_selector.h
Go to the documentation of this file.
/*
* Copyright © 2016 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3,
* as published by the Free Software Foundation.
*
* This program 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authored by: Scott Sweeny <scott.sweeny@canonical.com
*/
#ifndef LOCATION_SERVICE_COM_LOMIRI_LOCATION_UPDATE_SELECTOR_H
#define LOCATION_SERVICE_COM_LOMIRI_LOCATION_UPDATE_SELECTOR_H
#include <com/lomiri/location/update.h>
#include <com/lomiri/location/position.h>
namespace com
{
namespace lomiri
{
namespace location
{
template<typename T>
struct WithSource { std::shared_ptr<Provider> source; T value; };
class UpdateSelector
{
public:
typedef std::shared_ptr<UpdateSelector> Ptr;
UpdateSelector(const UpdateSelector&) = delete;
UpdateSelector& operator=(const UpdateSelector&) = delete;
virtual ~UpdateSelector() = default;
virtual WithSource<Update<Position>> select(const WithSource<Update<Position>>& older,
const WithSource<Update<Position>>& newer) = 0;
protected:
UpdateSelector() = default;
};
}
}
}
#endif // LOCATION_SERVICE_COM_LOMIRI_LOCATION_UPDATE_SELECTOR_H
com::lomiri::location::UpdateSelector::Ptr
std::shared_ptr< UpdateSelector > Ptr
Definition update_selector.h:37
com::lomiri::location::UpdateSelector::UpdateSelector
UpdateSelector(const UpdateSelector &)=delete
com::lomiri::location::UpdateSelector::~UpdateSelector
virtual ~UpdateSelector()=default
com::lomiri::location::UpdateSelector::operator=
UpdateSelector & operator=(const UpdateSelector &)=delete
com::lomiri::location::UpdateSelector::UpdateSelector
UpdateSelector()=default
com::lomiri::location::UpdateSelector::select
virtual WithSource< Update< Position > > select(const WithSource< Update< Position > > &older, const WithSource< Update< Position > > &newer)=0
com::lomiri::location
Definition accuracy.h:28
com::lomiri
Definition accuracy.h:26
com
Definition accuracy.h:24
position.h
com::lomiri::location::Update
Templated class that wraps a value and timestamp.
Definition update.h:37
com::lomiri::location::WithSource
Definition update_selector.h:32
com::lomiri::location::WithSource::value
T value
Definition update_selector.h:32
com::lomiri::location::WithSource::source
std::shared_ptr< Provider > source
Definition update_selector.h:32
update.h