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);
122 void handle_create_session_for_criteria(const
core::
dbus::Message::Ptr& msg);
126 bool add_to_session_store_for_path(
127 const
core::
dbus::types::ObjectPath& path,
128 std::unique_ptr<
core::
dbus::ServiceWatcher> watcher,
132 void remove_from_session_store_for_path(const
core::
dbus::types::ObjectPath& path);
135 void on_does_satellite_based_positioning_changed(
bool value);
137 void on_does_report_cell_and_wifi_ids_changed(
bool value);
139 void on_is_online_changed(
bool value);
150 core::
dbus::interfaces::Properties::Signals::PropertiesChanged,
151 core::
dbus::interfaces::Properties::Signals::PropertiesChanged::ArgumentType
152 >::Ptr properties_changed;
159 std::shared_ptr< core::dbus::Property<Interface::Properties::IsOnline> >
is_online;
174 std::unique_ptr<core::dbus::ServiceWatcher> watcher;
175 std::shared_ptr<session::Interface> session;
178 std::map<dbus::types::ObjectPath, Element> session_store;
184 #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()
std::shared_ptr< PermissionManager > Ptr
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
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