18 #ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_SKELETON_H_ 19 #define LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_SKELETON_H_ 25 #include <core/dbus/dbus.h> 26 #include <core/dbus/object.h> 27 #include <core/dbus/property.h> 28 #include <core/dbus/service_watcher.h> 29 #include <core/dbus/skeleton.h> 31 #include <core/dbus/interfaces/properties.h> 43 public std::enable_shared_from_this<Skeleton>
46 typedef std::shared_ptr<Skeleton>
Ptr;
51 typedef std::shared_ptr<CredentialsResolver>
Ptr;
82 typedef std::shared_ptr<ObjectPathGenerator>
Ptr;
92 virtual core::dbus::types::ObjectPath object_path_for_caller_credentials(
const Credentials& credentials);
126 void handle_create_session_for_criteria(const
core::
dbus::Message::Ptr& msg);
130 bool add_to_session_store_for_path(
131 const
core::
dbus::types::ObjectPath& path,
132 std::unique_ptr<
core::
dbus::ServiceWatcher> watcher,
136 void remove_from_session_store_for_path(const
core::
dbus::types::ObjectPath& path);
141 void on_does_satellite_based_positioning_changed(
bool value);
143 void on_does_report_cell_and_wifi_ids_changed(
bool value);
145 void on_is_online_changed(
bool value);
156 core::
dbus::interfaces::Properties::Signals::PropertiesChanged,
157 core::
dbus::interfaces::Properties::Signals::PropertiesChanged::ArgumentType
158 >::Ptr properties_changed;
163 std::shared_ptr< core::dbus::Property<Interface::Properties::State> >
state;
166 std::shared_ptr< core::dbus::Property<Interface::Properties::IsOnline> >
is_online;
182 std::unique_ptr<core::dbus::ServiceWatcher> watcher;
183 std::shared_ptr<session::Interface> session;
186 std::map<dbus::types::ObjectPath, Element> session_store;
192 #endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_SKELETON_H_ State
State enumerates the known states of the service.
core::ScopedConnection does_satellite_based_positioning
std::shared_ptr< core::dbus::Property< Interface::Properties::DoesReportCellAndWifiIds > > does_report_cell_and_wifi_ids
core::Property< std::map< SpaceVehicle::Key, SpaceVehicle > > & visible_space_vehicles()
std::shared_ptr< PermissionManager > Ptr
std::shared_ptr< core::dbus::Property< Interface::Properties::State > > state
virtual ~CredentialsResolver()=default
core::Property< bool > & does_report_cell_and_wifi_ids()
std::shared_ptr< core::dbus::Property< Interface::Properties::IsOnline > > is_online
std::shared_ptr< core::dbus::Property< Interface::Properties::DoesSatelliteBasedPositioning > > does_satellite_based_positioning
Credentials of a remote session.
Skeleton(const Configuration &configuration)
core::ScopedConnection is_online
core::Property< bool > & does_satellite_based_positioning()
The Interface class models the primary interface to the location service.
virtual Credentials resolve_credentials_for_incoming_message(const core::dbus::Message::Ptr &msg)=0
std::shared_ptr< CredentialsResolver > Ptr
std::shared_ptr< ObjectPathGenerator > Ptr
core::ScopedConnection does_report_cell_and_wifi_ids
PermissionManager::Ptr permission_manager
core::Property< bool > & is_online()
CredentialsResolver()=default
std::shared_ptr< Skeleton > Ptr
const core::Property< State > & state() const
core::dbus::Bus::Ptr outgoing
CredentialsResolver::Ptr credentials_resolver
A space-vehicle as visible to providers.
core::Property< State > & mutable_state()
core::dbus::Bus::Ptr incoming
core::ScopedConnection state
std::shared_ptr< core::dbus::Property< Interface::Properties::VisibleSpaceVehicles > > visible_space_vehicles
ObjectPathGenerator::Ptr object_path_generator