com::lomiri::location::service::Interface Class Referenceabstract

The Interface class models the primary interface to the location service. More...

`#include <interface.h>`

Collaboration diagram for com::lomiri::location::service::Interface:

## Classes

struct | Errors
struct | CreateSessionForCriteria
struct | Properties

## Public Types

typedef std::shared_ptr< Interface > | Ptr

## Public Member Functions

| Interface (const Interface &)=delete
Interface & | operator= (const Interface &)=delete
virtual | ~Interface ()=default
virtual const core::Property< State > & | state () const =0
| The overall state of the service.
virtual core::Property< bool > & | does_satellite_based_positioning ()=0
| Whether the service uses satellite-based positioning.
virtual core::Property< bool > & | is_online ()=0
| Whether the overall service and its positioning engine is online or not.
virtual core::Property< bool > & | does_report_cell_and_wifi_ids ()=0
| Whether the engine and its providers/reporters do call home to report reference locations together with wifi and cell ids.
virtual core::Property< std::map< SpaceVehicle::Key, SpaceVehicle > > & | visible_space_vehicles ()=0
| All space vehicles currently visible.
virtual session::Interface::Ptr | create_session_for_criteria (const Criteria &criteria)=0
| Starts a new session for the given criteria.
virtual core::Property< std::vector< std::string > > & | client_applications ()=0
| List of application IDs currently requesting position information.

## Static Public Member Functions

static const std::string & | path ()
| Queries the path that this object is known under.

## Protected Member Functions

| Interface ()=default

## Detailed Description

The Interface class models the primary interface to the location service.

Definition at line 48 of file service/interface.h.

## Member Typedef Documentation

## Ptr

typedef std::shared_ptr<Interface> com::lomiri::location::service::Interface::Ptr

Definition at line 199 of file service/interface.h.

## Constructor & Destructor Documentation

## Interface() [1/2]

com::lomiri::location::service::Interface::Interface | ( |  | ) |

protected default

Referenced by Interface(), and operator=().

## Interface() [2/2]

com::lomiri::location::service::Interface::Interface | ( | const Interface & |  | ) |

delete

References Interface().

Here is the call graph for this function:

## ~Interface()

virtual com::lomiri::location::service::Interface::~Interface | ( |  | ) |

virtual default

## Member Function Documentation

## client_applications()

virtual core::Property< std::vector< std::string > > & com::lomiri::location::service::Interface::client_applications | ( |  | ) |

pure virtual

List of application IDs currently requesting position information.

## create_session_for_criteria()

virtual session::Interface::Ptr com::lomiri::location::service::Interface::create_session_for_criteria | ( | const Criteria & | criteria | ) |

pure virtual

Starts a new session for the given criteria.

Exceptions

  std::runtime_error | in case of errors.

Parameters

  criteria | The client's requirements in terms of accuraccy and functionality

Returns
  A session instance.

## does_report_cell_and_wifi_ids()

virtual core::Property< bool > & com::lomiri::location::service::Interface::does_report_cell_and_wifi_ids | ( |  | ) |

pure virtual

Whether the engine and its providers/reporters do call home to report reference locations together with wifi and cell ids.

We consider this feature privacy sensitive and it defaults to false. The user has to explicitly opt-in into this feature.

Returns
  A setable/getable/observable property.

## does_satellite_based_positioning()

virtual core::Property< bool > & com::lomiri::location::service::Interface::does_satellite_based_positioning | ( |  | ) |

pure virtual

Whether the service uses satellite-based positioning.

Returns
  A setable/getable/observable property.

## is_online()

virtual core::Property< bool > & com::lomiri::location::service::Interface::is_online | ( |  | ) |

pure virtual

Whether the overall service and its positioning engine is online or not.

Returns
  A setable/getable/observable property.

## operator=()

Interface & com::lomiri::location::service::Interface::operator= | ( | const Interface & |  | ) |

delete

References Interface().

Here is the call graph for this function:

## path()

const std::string & com::lomiri::location::service::Interface::path | ( |  | ) |

inline static

Queries the path that this object is known under.

Definition at line 204 of file service/interface.h.

## state()

virtual const core::Property< State > & com::lomiri::location::service::Interface::state | ( |  | ) | const

pure virtual

The overall state of the service.

Returns
  a getable/observable property.

## visible_space_vehicles()

virtual core::Property< std::map< SpaceVehicle::Key, SpaceVehicle > > & com::lomiri::location::service::Interface::visible_space_vehicles | ( |  | ) |

pure virtual

All space vehicles currently visible.

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

- service/interface.h