diff options
Diffstat (limited to 'src/components/application_manager/include/application_manager')
7 files changed, 67 insertions, 16 deletions
diff --git a/src/components/application_manager/include/application_manager/application_manager_impl.h b/src/components/application_manager/include/application_manager/application_manager_impl.h index 702f7a9a4d..59df2430f9 100644 --- a/src/components/application_manager/include/application_manager/application_manager_impl.h +++ b/src/components/application_manager/include/application_manager/application_manager_impl.h @@ -289,8 +289,7 @@ class ApplicationManagerImpl * @param vehicle_info Enum value of type of vehicle data * @param new value (for integer values currently) of vehicle data */ - void IviInfoUpdated(mobile_apis::VehicleDataType::eType vehicle_info, - int value) OVERRIDE; + void IviInfoUpdated(const std::string& vehicle_info, int value) OVERRIDE; void OnApplicationRegistered(ApplicationSharedPtr app) OVERRIDE; diff --git a/src/components/application_manager/include/application_manager/plugin_manager/rpc_plugin.h b/src/components/application_manager/include/application_manager/plugin_manager/rpc_plugin.h index c3b0d67d67..c36f560ed5 100644 --- a/src/components/application_manager/include/application_manager/plugin_manager/rpc_plugin.h +++ b/src/components/application_manager/include/application_manager/plugin_manager/rpc_plugin.h @@ -36,10 +36,13 @@ #include "application_manager/application.h" #include "application_manager/commands/command.h" #include "application_manager/hmi_capabilities.h" -#include "application_manager/policies/policy_handler_interface.h" #include "application_manager/rpc_service.h" #include "utils/macro.h" +namespace policy { +class PolicyHandlerInterface; +} + namespace application_manager { class CommandFactory; diff --git a/src/components/application_manager/include/application_manager/policies/custom_vehicle_data_provider.h b/src/components/application_manager/include/application_manager/policies/custom_vehicle_data_provider.h new file mode 100644 index 0000000000..edd0a29c48 --- /dev/null +++ b/src/components/application_manager/include/application_manager/policies/custom_vehicle_data_provider.h @@ -0,0 +1,25 @@ +#ifndef CUSTOM_VEHICLE_DATA_PROVIDER_H +#define CUSTOM_VEHICLE_DATA_PROVIDER_H + +#include <vector> + +namespace rpc { +namespace policy_table_interface_base { +struct VehicleDataItem; +} +} // namespace rpc + +namespace policy { + +class VehicleDataItemProvider { + public: + /** + * @brief Gets vehicle data items + * @return Structure with vehicle data items + */ + virtual const std::vector<rpc::policy_table_interface_base::VehicleDataItem> + GetVehicleDataItems() const = 0; +}; +} // namespace policy + +#endif // CUSTOM_VEHICLE_DATA_PROVIDER_H diff --git a/src/components/application_manager/include/application_manager/policies/policy_handler.h b/src/components/application_manager/include/application_manager/policies/policy_handler.h index 5ddac88dd9..141c679aad 100644 --- a/src/components/application_manager/include/application_manager/policies/policy_handler.h +++ b/src/components/application_manager/include/application_manager/policies/policy_handler.h @@ -45,6 +45,8 @@ #include "application_manager/policies/policy_event_observer.h" #include "application_manager/policies/policy_handler_interface.h" #include "application_manager/policies/policy_handler_observer.h" + +#include "application_manager/policies/custom_vehicle_data_provider.h" #include "policy/policy_manager.h" #include "policy/policy_settings.h" #include "policy/usage_statistics/statistics_manager.h" @@ -122,6 +124,8 @@ class PolicyHandler : public PolicyHandlerInterface, virtual DeviceConsent GetUserConsentForDevice( const std::string& device_id) const OVERRIDE; + Json::Value GetPolicyTableData() const OVERRIDE; + /** * @brief Sets HMI default type for specified application * @param device_handle device identifier @@ -646,12 +650,6 @@ class PolicyHandler : public PolicyHandlerInterface, const std::vector<std::string> GetAppRequestSubTypes( const std::string& policy_app_id) const OVERRIDE; - /** - * @brief Gets vehicle information - * @return Structure with vehicle information - */ - const VehicleInfo GetVehicleInfo() const OVERRIDE; - #ifdef EXTERNAL_PROPRIETARY_MODE /** * @brief Gets meta information @@ -696,6 +694,14 @@ class PolicyHandler : public PolicyHandlerInterface, void OnDeviceSwitching(const std::string& device_id_from, const std::string& device_id_to) FINAL; + // VehicleDataItemProvider interface : + /** + * @brief Gets vehicle data items + * @return Structure with vehicle data items + */ + const std::vector<rpc::policy_table_interface_base::VehicleDataItem> + GetVehicleDataItems() const OVERRIDE; + void OnLockScreenDismissalStateChanged() FINAL; protected: @@ -844,6 +850,7 @@ class PolicyHandler : public PolicyHandlerInterface, std::vector<FunctionalGroupPermission> CollectAppPermissions( const uint32_t connection_key); + private: static const std::string kLibrary; /** diff --git a/src/components/application_manager/include/application_manager/rpc_handler_impl.h b/src/components/application_manager/include/application_manager/rpc_handler_impl.h index 2909a38cf7..b1e94ab331 100644 --- a/src/components/application_manager/include/application_manager/rpc_handler_impl.h +++ b/src/components/application_manager/include/application_manager/rpc_handler_impl.h @@ -93,7 +93,9 @@ class RPCHandlerImpl : public RPCHandler, public impl::FromMobileQueue::Handler, public impl::FromHmiQueue::Handler { public: - RPCHandlerImpl(ApplicationManager& app_manager); + RPCHandlerImpl(ApplicationManager& app_manager, + hmi_apis::HMI_API& hmi_so_factory, + mobile_apis::MOBILE_API& mobile_so_factory); ~RPCHandlerImpl(); // CALLED ON messages_from_mobile_ thread! @@ -177,8 +179,8 @@ class RPCHandlerImpl : public RPCHandler, // Thread that pumps messages coming from HMI. impl::FromHmiQueue messages_from_hmi_; - hmi_apis::HMI_API hmi_so_factory_; - mobile_apis::MOBILE_API mobile_so_factory_; + hmi_apis::HMI_API& hmi_so_factory_; + mobile_apis::MOBILE_API& mobile_so_factory_; #ifdef TELEMETRY_MONITOR AMTelemetryObserver* metric_observer_; #endif // TELEMETRY_MONITOR diff --git a/src/components/application_manager/include/application_manager/rpc_service_impl.h b/src/components/application_manager/include/application_manager/rpc_service_impl.h index e32cdf42a2..ce3d1f1e22 100644 --- a/src/components/application_manager/include/application_manager/rpc_service_impl.h +++ b/src/components/application_manager/include/application_manager/rpc_service_impl.h @@ -113,7 +113,9 @@ class RPCServiceImpl : public RPCService, protocol_handler::ProtocolHandler* protocol_handler, hmi_message_handler::HMIMessageHandler* hmi_handler, CommandHolder& commands_holder, - RPCProtectionManagerSPtr rpc_protection_manager); + RPCProtectionManagerSPtr rpc_protection_manager, + hmi_apis::HMI_API& hmi_so_factory_, + mobile_apis::MOBILE_API& mobile_so_factory_); ~RPCServiceImpl(); bool ManageMobileCommand(const commands::MessageSharedPtr message, @@ -132,13 +134,22 @@ class RPCServiceImpl : public RPCService, void SendMessageToHMI(const commands::MessageSharedPtr message) OVERRIDE; bool IsAppServiceRPC(int32_t function_id, - commands::Command::CommandSource source); + commands::Command::CommandSource source) OVERRIDE; void set_protocol_handler( protocol_handler::ProtocolHandler* handler) OVERRIDE; void set_hmi_message_handler( hmi_message_handler::HMIMessageHandler* handler) OVERRIDE; + void UpdateMobileRPCParams( + const mobile_apis::FunctionID::eType& function_id, + const mobile_apis::messageType::eType& message_type, + const std::map<std::string, SMember>& members) OVERRIDE; + void UpdateHMIRPCParams( + const hmi_apis::FunctionID::eType& function_id, + const hmi_apis::messageType::eType& message_type, + const std::map<std::string, SMember>& members) OVERRIDE; + private: bool ConvertSOtoMessage(const smart_objects::SmartObject& message, Message& output, @@ -165,8 +176,8 @@ class RPCServiceImpl : public RPCService, // Thread that pumps messages being passed to HMI. impl::ToHmiQueue messages_to_hmi_; - hmi_apis::HMI_API hmi_so_factory_; - mobile_apis::MOBILE_API mobile_so_factory_; + hmi_apis::HMI_API& hmi_so_factory_; + mobile_apis::MOBILE_API& mobile_so_factory_; }; } // namespace rpc_service } // namespace application_manager diff --git a/src/components/application_manager/include/application_manager/smart_object_keys.h b/src/components/application_manager/include/application_manager/smart_object_keys.h index b3ca00013a..d95432af4c 100644 --- a/src/components/application_manager/include/application_manager/smart_object_keys.h +++ b/src/components/application_manager/include/application_manager/smart_object_keys.h @@ -218,6 +218,8 @@ extern const char* is_cloud_application; extern const char* cloud_connection_status; extern const char* endpoint; extern const char* display_capabilities; +extern const char* policy_type; +extern const char* property; // PutFile extern const char* sync_file_name; @@ -307,6 +309,7 @@ extern const char* e_call_info; extern const char* airbag_status; extern const char* emergency_event; extern const char* cluster_mode_status; +extern const char* cluster_modes; extern const char* my_key; extern const char* help_prompt; extern const char* scroll_message_body; @@ -326,6 +329,7 @@ extern const char* sdl_version; extern const char* system_software_version; extern const char* priority; extern const char* engine_oil_life; +extern const char* oem_custom_data_type; // app services extern const char* app_service_manifest; |