lomiri-location-service ..
An aggregating location service providing positioning and geocoding capabilities to applications.
com::lomiri::location::FusionProvider Class Reference

#include <fusion_provider.h>

Inheritance diagram for com::lomiri::location::FusionProvider:
Collaboration diagram for com::lomiri::location::FusionProvider:

Public Types

typedef std::shared_ptr< FusionProviderPtr
Public Types inherited from com::lomiri::location::Provider
enum class  Features : std::size_t {
  none = 0 ,
  position = 1 << 0 ,
  velocity = 1 << 1 ,
  heading = 1 << 2
}
 Enumerates the known features that can be supported by providers. More...
enum class  Requirements : std::size_t {
  none = 0 ,
  satellites = 1 << 0 ,
  cell_network = 1 << 1 ,
  data_network = 1 << 2 ,
  monetary_spending = 1 << 3
}
 Enumerates the requirements of a provider implementation. More...
typedef std::shared_ptr< ProviderPtr

Public Member Functions

 FusionProvider (const std::set< Provider::Ptr > &providers, const UpdateSelector::Ptr &update_selector)
bool matches_criteria (const Criteria &criteria) override
 Checks if a provider satisfies a set of accuracy criteria.
void on_wifi_and_cell_reporting_state_changed (location::WifiAndCellIdReportingState state) override
 Called by the engine whenever the wifi and cell ID reporting state changes.
void on_reference_location_updated (const Update< Position > &position) override
 Called by the engine whenever the reference location changed.
void on_reference_velocity_updated (const Update< Velocity > &velocity) override
 Called by the engine whenever the reference velocity changed.
void on_reference_heading_updated (const Update< Heading > &heading) override
 Called by the engine whenever the reference heading changed.
void start_position_updates () override
 Implementation-specific, empty by default.
void stop_position_updates () override
 Implementation-specific, empty by default.
void start_heading_updates () override
 Implementation-specific, empty by default.
void stop_heading_updates () override
 Implementation-specific, empty by default.
void start_velocity_updates () override
 Implementation-specific, empty by default.
void stop_velocity_updates () override
 Implementation-specific, empty by default.
Public Member Functions inherited from com::lomiri::location::Provider
virtual ~Provider ()=default
 Provider (const Provider &)=delete
Provideroperator= (const Provider &)=delete
virtual const Updatesupdates () const
 Provides non-mutable access to this provider's updates.
virtual const Controller::Ptrstate_controller () const
 Access to the controller facade of this provider instance.
virtual bool supports (const Features &f) const
 Checks if the provider supports a specific feature.

Additional Inherited Members

Public Attributes inherited from com::lomiri::location::Provider
virtual bool const
 Checks if the provider has got a specific requirement.
Protected Member Functions inherited from com::lomiri::location::Provider
 Provider (const Features &features=Features::none, const Requirements &requirements=Requirements::none)
virtual Updatesmutable_updates ()

Detailed Description

Definition at line 33 of file fusion_provider.h.

Member Typedef Documentation

◆ Ptr

Definition at line 36 of file fusion_provider.h.

Constructor & Destructor Documentation

◆ FusionProvider()

com::lomiri::location::FusionProvider::FusionProvider ( const std::set< Provider::Ptr > & providers,
const UpdateSelector::Ptr & update_selector )

Member Function Documentation

◆ matches_criteria()

bool com::lomiri::location::FusionProvider::matches_criteria ( const Criteria & criteria)
overridevirtual

Checks if a provider satisfies a set of accuracy criteria.

Parameters
[in]criteriaThe criteria to check.
Returns
true iff the provider satisfies the given criteria.

Reimplemented from com::lomiri::location::Provider.

◆ on_reference_heading_updated()

void com::lomiri::location::FusionProvider::on_reference_heading_updated ( const Update< Heading > & heading)
overridevirtual

Called by the engine whenever the reference heading changed.

Parameters
headingThe new reference heading.

Reimplemented from com::lomiri::location::Provider.

◆ on_reference_location_updated()

void com::lomiri::location::FusionProvider::on_reference_location_updated ( const Update< Position > & position)
overridevirtual

Called by the engine whenever the reference location changed.

Parameters
positionThe new reference location.

Reimplemented from com::lomiri::location::Provider.

◆ on_reference_velocity_updated()

void com::lomiri::location::FusionProvider::on_reference_velocity_updated ( const Update< Velocity > & velocity)
overridevirtual

Called by the engine whenever the reference velocity changed.

Parameters
velocityThe new reference velocity.

Reimplemented from com::lomiri::location::Provider.

◆ on_wifi_and_cell_reporting_state_changed()

void com::lomiri::location::FusionProvider::on_wifi_and_cell_reporting_state_changed ( location::WifiAndCellIdReportingState state)
overridevirtual

Called by the engine whenever the wifi and cell ID reporting state changes.

Parameters
stateThe new state.

Reimplemented from com::lomiri::location::Provider.

◆ start_heading_updates()

void com::lomiri::location::FusionProvider::start_heading_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.

◆ start_position_updates()

void com::lomiri::location::FusionProvider::start_position_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.

◆ start_velocity_updates()

void com::lomiri::location::FusionProvider::start_velocity_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.

◆ stop_heading_updates()

void com::lomiri::location::FusionProvider::stop_heading_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.

◆ stop_position_updates()

void com::lomiri::location::FusionProvider::stop_position_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.

◆ stop_velocity_updates()

void com::lomiri::location::FusionProvider::stop_velocity_updates ( )
overridevirtual

Implementation-specific, empty by default.

Reimplemented from com::lomiri::location::Provider.


The documentation for this class was generated from the following file: