proxy_provider.h
Go to the documentation of this file.
/*
* Copyright © 2012-2013 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: Thomas Voß <thomas.voss@canonical.com>
*/
#ifndef LOCATION_SERVICE_COM_LOMIRI_LOCATION_PROXY_PROVIDER_H_
#define LOCATION_SERVICE_COM_LOMIRI_LOCATION_PROXY_PROVIDER_H_
#include <com/lomiri/location/provider.h>
#include <com/lomiri/location/provider_selection_policy.h>
#include <bitset>
#include <memory>
namespace com
{
namespace lomiri
{
namespace location
{
class ProxyProvider : public Provider
{
public:
typedef std::shared_ptr<ProxyProvider> Ptr;
ProxyProvider(const ProviderSelection& selection);
~ProxyProvider() noexcept;
virtual void start_position_updates();
virtual void stop_position_updates();
virtual void start_velocity_updates();
virtual void stop_velocity_updates();
virtual void start_heading_updates();
virtual void stop_heading_updates();
private:
ProviderSelection providers;
struct
{
core::ScopedConnection position_updates;
core::ScopedConnection heading_updates;
core::ScopedConnection velocity_updates;
} connections;
};
}
}
}
#endif // LOCATION_SERVICE_COM_LOMIRI_LOCATION_PROXY_PROVIDER_H_
com::lomiri::location::Provider::Provider
Provider(const Provider &)=delete
com::lomiri::location::ProxyProvider::start_velocity_updates
virtual void start_velocity_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::stop_heading_updates
virtual void stop_heading_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::start_position_updates
virtual void start_position_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::stop_position_updates
virtual void stop_position_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::Ptr
std::shared_ptr< ProxyProvider > Ptr
Definition proxy_provider.h:36
com::lomiri::location::ProxyProvider::ProxyProvider
ProxyProvider(const ProviderSelection &selection)
com::lomiri::location::ProxyProvider::stop_velocity_updates
virtual void stop_velocity_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::~ProxyProvider
~ProxyProvider() noexcept
com::lomiri::location::ProxyProvider::start_heading_updates
virtual void start_heading_updates()
Implementation-specific, empty by default.
com::lomiri::location::ProxyProvider::heading_updates
core::ScopedConnection heading_updates
Definition proxy_provider.h:56
com::lomiri::location::ProxyProvider::position_updates
core::ScopedConnection position_updates
Definition proxy_provider.h:55
com::lomiri::location::ProxyProvider::velocity_updates
core::ScopedConnection velocity_updates
Definition proxy_provider.h:57
com::lomiri::location
Definition accuracy.h:28
com::lomiri
Definition accuracy.h:26
com
Definition accuracy.h:24
provider.h
provider_selection_policy.h
com::lomiri::location::ProviderSelection
Definition provider_selection.h:32