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;
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;
The Interface class models the primary interface to the location service.
std::shared_ptr< PermissionManager > Ptr
std::shared_ptr< core::dbus::Property< Interface::Properties::State > > state
core::ScopedConnection does_satellite_based_positioning
std::shared_ptr< core::dbus::Property< Interface::Properties::DoesSatelliteBasedPositioning > > does_satellite_based_positioning
std::shared_ptr< core::dbus::Property< Interface::Properties::IsOnline > > is_online
core::ScopedConnection state
Skeleton(const Configuration &configuration)
std::shared_ptr< Skeleton > Ptr
std::shared_ptr< core::dbus::Property< Interface::Properties::DoesReportCellAndWifiIds > > does_report_cell_and_wifi_ids
core::Property< State > & mutable_state()
core::ScopedConnection is_online
std::shared_ptr< core::dbus::Property< Interface::Properties::VisibleSpaceVehicles > > visible_space_vehicles
core::ScopedConnection does_report_cell_and_wifi_ids
State
State enumerates the known states of the service.
A space-vehicle as visible to providers.
Credentials of a remote session.
ObjectPathGenerator::Ptr object_path_generator
core::dbus::Bus::Ptr incoming
core::dbus::Bus::Ptr outgoing
CredentialsResolver::Ptr credentials_resolver
PermissionManager::Ptr permission_manager
CredentialsResolver()=default
virtual Credentials resolve_credentials_for_incoming_message(const core::dbus::Message::Ptr &msg)=0
std::shared_ptr< CredentialsResolver > Ptr
virtual ~CredentialsResolver()=default
Credentials resolve_credentials_for_incoming_message(const core::dbus::Message::Ptr &msg)
DBusDaemonCredentialsResolver(const core::dbus::Bus::Ptr &bus)
ObjectPathGenerator()=default
virtual ~ObjectPathGenerator()=default
std::shared_ptr< ObjectPathGenerator > Ptr
virtual core::dbus::types::ObjectPath object_path_for_caller_credentials(const Credentials &credentials)