ubuntu-location-service  0.0.2
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
com::ubuntu::location::Provider Class Reference
Inheritance diagram for com::ubuntu::location::Provider:
Inheritance graph
Collaboration diagram for com::ubuntu::location::Provider:
Collaboration graph

Classes

class  Controller
 

Public Types

enum  Feature : std::size_t {
  position,
  velocity,
  heading
}
 
enum  Requirement : std::size_t {
  satellites,
  cell_network,
  data_network,
  monetary_spending
}
 
typedef std::shared_ptr< ProviderPtr
 
typedef std::bitset< 3 > FeatureFlags
 
typedef std::bitset< 4 > RequirementFlags
 

Public Member Functions

 Provider (const Provider &)=delete
 
Provideroperator= (const Provider &)=delete
 
virtual const Controller::Ptr & state_controller () const
 
virtual ChannelConnection subscribe_to_position_updates (std::function< void(const Update< Position > &)> f)
 
virtual ChannelConnection subscribe_to_heading_updates (std::function< void(const Update< Heading > &)> f)
 
virtual ChannelConnection subscribe_to_velocity_updates (std::function< void(const Update< Velocity > &)> f)
 
virtual bool supports (const Feature &f) const
 
virtual bool requires (const Requirement &r) const
 
virtual bool matches_criteria (const Criteria &)
 

Protected Member Functions

 Provider (const FeatureFlags &feature_flags=FeatureFlags(), const RequirementFlags &requirement_flags=RequirementFlags())
 
void deliver_position_updates (const Update< Position > &update)
 
void deliver_heading_updates (const Update< Heading > &update)
 
void deliver_velocity_updates (const Update< Velocity > &update)
 
virtual void start_position_updates ()
 
virtual void stop_position_updates ()
 
virtual void start_heading_updates ()
 
virtual void stop_heading_updates ()
 
virtual void start_velocity_updates ()
 
virtual void stop_velocity_updates ()
 

Detailed Description

Definition at line 38 of file provider.h.


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