diff options
author | JackLivio <jack@livio.io> | 2018-10-19 15:05:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-19 15:05:09 -0400 |
commit | d36316738785c96dab2ee892762ed08c059fffde (patch) | |
tree | 168a7c0705b5bc8f0dee7ce4b511ccf71759d9b4 /src/components/application_manager/include/application_manager/core_service.h | |
parent | 7f7fcbb998fb17f2954fd103349af67ea9b71a3f (diff) | |
parent | 83c5e805346d55ec7fb9f4ba8b6f6855d992273e (diff) | |
download | sdl_core-hotfix/templates_updates.tar.gz |
Merge pull request #2572 from smartdevicelink/release/5.0.05.0.0hotfix/templates_updatesfeature/show_app_menufeature/progress_bar_seekfeature/open-menu-rpcfeature/open-menu-rfeature/button
Release 5.0.0
Diffstat (limited to 'src/components/application_manager/include/application_manager/core_service.h')
-rw-r--r-- | src/components/application_manager/include/application_manager/core_service.h | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/src/components/application_manager/include/application_manager/core_service.h b/src/components/application_manager/include/application_manager/core_service.h deleted file mode 100644 index 5e95ecd245..0000000000 --- a/src/components/application_manager/include/application_manager/core_service.h +++ /dev/null @@ -1,214 +0,0 @@ -/** - * Copyright (c) 2013, Ford Motor Company - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following - * disclaimer in the documentation and/or other materials provided with the - * distribution. - * - * Neither the name of the Ford Motor Company nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_CORE_SERVICE_H_ -#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_CORE_SERVICE_H_ - -#include <string> -#include <vector> -#include "application_manager/service.h" -#include "application_manager/application.h" -#include "policy/policy_types.h" - -namespace Json { -class Value; -} - -namespace application_manager { - -struct CommandParametersPermissions; - -/** - * @brief Class through which the plug-in can interact with the core - */ -class CoreService : public Service { - public: - /** - * @brief CoreService class destructor - */ - explicit CoreService(ApplicationManager& application_manager); - - /** - * @brief CoreService class destructor - */ - virtual ~CoreService(); - - /** - * @brief Checks message permissions and cuts parameters according - * to policy table permissions - * @param msg message to cut disallowed parameters - * @return result according by mobile API - */ - mobile_apis::Result::eType CheckPolicyPermissions(MessagePtr msg) FINAL; - - /** - * Checks if module for application is present in policy table - * @param app_id id of application - * @param module type - * @return true if module is present, otherwise - false - */ - bool CheckModule(const ApplicationId& app_id, - const std::string& module) FINAL; - - /** - * Checks if application has remote control functions - * @param app application - * @return true if application has remote control functions - */ - bool IsRemoteControlApplication(ApplicationSharedPtr app) const FINAL; - - /** - * @brief Gets current state of the specified interface - * @param interface which state to get - * @return true if specified interface available otherwise false - */ - bool IsInterfaceAvailable( - const HmiInterfaces::InterfaceID interface) const FINAL; - - /** - * Removes fake parameters from request to HMI - * @param message message to handle - */ - void RemoveHMIFakeParameters(application_manager::MessagePtr& message) FINAL; - - /** - * @brief Get pointer to application by application id - * @param app_id application id - * return pointer to application - */ - ApplicationSharedPtr GetApplication(ApplicationId app_id) FINAL; - - /** - * @brief Send message to HMI - * @param message Message to HMI - */ - void SendMessageToHMI(const MessagePtr& message) FINAL; - - /** - * @brief Send message to mobile device - * @param message Message to mobile - */ - void SendMessageToMobile(const MessagePtr& message) FINAL; - - /** - * @brief Returns unique correlation ID for next HMI request - * - * @return Unique correlation ID - */ - uint32_t GetNextCorrelationID() FINAL; - - /** - * @brief Returns all applications - * - * @return List with shared pointers to applications - */ - std::vector<ApplicationSharedPtr> GetApplications(AppExtensionUID uid) FINAL; - - /** - * @brief Change hmi level of app and notify it - * @param app Application to be changed and notified - * @param level New HMI level of app - */ - void ChangeNotifyHMILevel(ApplicationSharedPtr app, - mobile_apis::HMILevel::eType level) FINAL; - - const smart_objects::SmartObject* GetRCCapabilities() const FINAL; - /** - * @brief Notify HMI about app changing HMI Level - * only NONE, BACKGROUND and LIMITED levels are sent - * @param app Application to be changed and notified - * @param level New HMI level of app - */ - void NotifyHMIAboutHMILevel(ApplicationSharedPtr app, - mobile_apis::HMILevel::eType level) FINAL; - - /** - * Gets all allowed module types - * @param app_id unique identifier of application - * @param list of allowed module types - * @return true if application has allowed modules - */ - bool GetModuleTypes(const std::string& policy_app_id, - std::vector<std::string>* modules) const FINAL; - - /** - * @brief ValidateMessageBySchema Checks whether message is valid according - * to API - * @param message Message to check - * @return Check result - */ - MessageValidationResult ValidateMessageBySchema(const Message& message) FINAL; - - /** - * @brief Gets application manager settings structure - * @return reference to application manager settings structure - */ - const ApplicationManagerSettings& GetSettings() const FINAL; - - private: - /** - * @brief AreParametersAllowed Checks message parameters across current policy - * permissions - * @param msg Message having parameters - * @param params Parameters sorted by permissions - * @return True if allowed, otherwise - false - */ - bool AreParametersAllowed(MessagePtr msg, - const CommandParametersPermissions& params); - - /** - * @brief CheckParams Checks object params with allowed parameters received - * from policy - * @param object Message object - * @param allowed_params Parameters allowed by policy - * @return True if all parameters allowed, otherwise - false - */ - bool CheckParams(const Json::Value& object, - const policy::RPCParams& allowed_params); - - /** - * @brief IsAllowed Checks particular parameter among allowed list - * @param name Parameter name - * @param allowed_params List of allowed parameters - * @return True if found, otherwise - false - */ - bool IsAllowed(const std::string& name, - const policy::RPCParams& allowed_params); - - ApplicationManager& application_manager_; - - DISALLOW_COPY_AND_ASSIGN(CoreService); -}; - -} // namespace application_manager - -#endif // SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_CORE_SERVICE_H_ |