18 #ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_INTERFACE_H_ 19 #define LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_INTERFACE_H_ 25 #include <core/dbus/service.h> 26 #include <core/dbus/traits/service.h> 27 #include <core/dbus/types/object_path.h> 53 inline static std::string
name()
55 return "com.ubuntu.location.Service.Error.InsufficientPermissions";
60 inline static std::string
name()
62 return "com.ubuntu.location.Service.Error.CreatingSession";
71 inline static const std::string&
name()
73 static const std::string s
75 "CreateSessionForCriteria" 84 return std::chrono::seconds{25};
92 inline static const std::string&
name()
94 static const std::string s
96 "DoesSatelliteBasedPositioning" 103 static const bool readable =
true;
104 static const bool writable =
true;
109 inline static const std::string&
name()
111 static const std::string s
113 "DoesReportCellAndWifiIds" 120 static const bool readable =
true;
121 static const bool writable =
true;
126 inline static const std::string&
name()
128 static const std::string s
137 static const bool readable =
true;
138 static const bool writable =
true;
143 inline static const std::string&
name()
145 static const std::string s
147 "VisibleSpaceVehicles" 153 typedef std::map<com::ubuntu::location::SpaceVehicle::Key, com::ubuntu::location::SpaceVehicle>
ValueType;
155 static const bool readable =
true;
156 static const bool writable =
false;
163 typedef std::shared_ptr<Interface>
Ptr;
168 inline static const std::string&
path()
170 static const std::string s{
"/com/ubuntu/location/Service"};
188 virtual core::Property<bool>&
is_online() = 0;
226 struct Service<
com::ubuntu::location::service::Interface>
230 static const std::string s
232 "com.ubuntu.location.Service" 243 #endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_INTERFACE_H_ com::ubuntu::location::service::Interface Interface
static const std::string & interface_name()
static std::string name()
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 wi...
static const std::string & path()
Queries the path that this object is known under.
static const std::string & name()
Interface & operator=(const Interface &)=delete
com::ubuntu::location::service::Interface Interface
dbus::types::ObjectPath ResultType
virtual core::Property< bool > & is_online()=0
Whether the overall service and its positioning engine is online or not.
static const std::chrono::milliseconds default_timeout()
com::ubuntu::location::service::Interface Interface
static const std::string & name()
virtual core::Property< bool > & does_satellite_based_positioning()=0
Whether the service uses satellite-based positioning.
The Interface class models the primary interface to the location service.
virtual ~Interface()=default
com::ubuntu::location::service::Interface Interface
std::shared_ptr< Interface > Ptr
static const std::string & name()
com::ubuntu::location::service::Interface Interface
std::map< com::ubuntu::location::SpaceVehicle::Key, com::ubuntu::location::SpaceVehicle > ValueType
virtual session::Interface::Ptr create_session_for_criteria(const Criteria &criteria)=0
Starts a new session for the given criteria.
static std::string name()
static const std::string & name()
Summarizes criteria of a client session with respect to functionality and accuracy for position...
virtual core::Property< std::map< SpaceVehicle::Key, SpaceVehicle > > & visible_space_vehicles()=0
All space vehicles currently visible.
std::shared_ptr< Interface > Ptr
static const std::string & name()