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/skeleton.h>
30 #include <core/dbus/interfaces/properties.h>
42 public std::enable_shared_from_this<Skeleton>
45 typedef std::shared_ptr<Skeleton>
Ptr;
50 typedef std::shared_ptr<CredentialsResolver>
Ptr;
81 typedef std::shared_ptr<ObjectPathGenerator>
Ptr;
121 void handle_create_session_for_criteria(const
core::
dbus::Message::Ptr& msg);
125 bool add_to_session_store_for_path(
126 const
core::
dbus::types::ObjectPath& path,
130 void on_does_satellite_based_positioning_changed(
bool value);
132 void on_does_report_cell_and_wifi_ids_changed(
bool value);
134 void on_is_online_changed(
bool value);
143 core::
dbus::interfaces::Properties::Signals::PropertiesChanged,
144 core::
dbus::interfaces::Properties::Signals::PropertiesChanged::ArgumentType
145 >::Ptr properties_changed;
152 std::shared_ptr< core::dbus::Property<Interface::Properties::IsOnline> >
is_online;
165 std::map<dbus::types::ObjectPath, std::shared_ptr<session::Interface>> session_store;
171 #endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_SERVICE_SKELETON_H_
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()
ObjectPathGenerator()=default
DBusDaemonCredentialsResolver(const core::dbus::Bus::Ptr &bus)
std::shared_ptr< PermissionManager > Ptr
virtual core::dbus::types::ObjectPath object_path_for_caller_credentials(const Credentials &credentials)
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 resolve_credentials_for_incoming_message(const core::dbus::Message::Ptr &msg)
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
virtual ~ObjectPathGenerator()=default
PermissionManager::Ptr permission_manager
core::Property< bool > & is_online()
CredentialsResolver()=default
std::shared_ptr< Skeleton > Ptr
core::dbus::Bus::Ptr outgoing
CredentialsResolver::Ptr credentials_resolver
A space-vehicle as visible to providers.
core::dbus::Bus::Ptr incoming
std::shared_ptr< core::dbus::Property< Interface::Properties::VisibleSpaceVehicles > > visible_space_vehicles
ObjectPathGenerator::Ptr object_path_generator