summaryrefslogtreecommitdiff
path: root/src/components/application_manager/include/application_manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/application_manager/include/application_manager')
-rw-r--r--src/components/application_manager/include/application_manager/application.h7
-rw-r--r--src/components/application_manager/include/application_manager/application_impl.h10
-rw-r--r--src/components/application_manager/include/application_manager/application_manager_impl.h1
-rw-r--r--src/components/application_manager/include/application_manager/commands/command_request_impl.h30
-rw-r--r--src/components/application_manager/include/application_manager/commands/mobile/change_registration_request.h97
-rw-r--r--src/components/application_manager/include/application_manager/commands/mobile/register_app_interface_request.h25
-rw-r--r--src/components/application_manager/include/application_manager/policies/policy_handler.h118
7 files changed, 145 insertions, 143 deletions
diff --git a/src/components/application_manager/include/application_manager/application.h b/src/components/application_manager/include/application_manager/application.h
index 0be02d0101..66b6f38791 100644
--- a/src/components/application_manager/include/application_manager/application.h
+++ b/src/components/application_manager/include/application_manager/application.h
@@ -58,6 +58,9 @@ namespace application_manager {
namespace mobile_api = mobile_apis;
namespace smart_objects = NsSmartDeviceLink::NsSmartObjects;
+
+namespace custom_str = utils::custom_string;
+
typedef int32_t ErrorCode;
class UsageStatistics;
@@ -452,7 +455,7 @@ class Application : public virtual InitialApplicationData,
virtual void set_hmi_application_id(uint32_t hmi_app_id) = 0;
virtual uint32_t hmi_app_id() const = 0;
virtual uint32_t app_id() const = 0;
- virtual const std::string& name() const = 0;
+ virtual const custom_str::CustomString& name() const = 0;
/**
* @brief Sets application folder name, which is used for storing of related
* files, e.g. icons
@@ -500,7 +503,7 @@ class Application : public virtual InitialApplicationData,
*/
virtual bool tts_properties_in_full() = 0;
virtual void set_version(const Version& version) = 0;
- virtual void set_name(const std::string& name) = 0;
+ virtual void set_name(const custom_str::CustomString& name) = 0;
virtual void set_is_media_application(bool is_media) = 0;
virtual void increment_put_file_in_none_count() = 0;
virtual void increment_delete_file_in_none_count() = 0;
diff --git a/src/components/application_manager/include/application_manager/application_impl.h b/src/components/application_manager/include/application_manager/application_impl.h
index fdb4bdad1e..d63b429c09 100644
--- a/src/components/application_manager/include/application_manager/application_impl.h
+++ b/src/components/application_manager/include/application_manager/application_impl.h
@@ -49,6 +49,7 @@
#include "utils/timer_thread.h"
#include "utils/lock.h"
#include "utils/atomic_object.h"
+#include "utils/custom_string.h"
namespace usage_statistics {
@@ -60,6 +61,7 @@ using namespace utils;
using namespace timer;
namespace mobile_api = mobile_apis;
+namespace custom_str = custom_string;
class ApplicationImpl : public virtual InitialApplicationDataImpl,
public virtual DynamicApplicationDataImpl {
@@ -67,7 +69,7 @@ class ApplicationImpl : public virtual InitialApplicationDataImpl,
ApplicationImpl(
uint32_t application_id,
const std::string& mobile_app_id,
- const std::string& app_name,
+ const custom_str::CustomString& app_name,
utils::SharedPtr<usage_statistics::StatisticsManager> statistics_manager);
~ApplicationImpl();
@@ -118,7 +120,7 @@ class ApplicationImpl : public virtual InitialApplicationDataImpl,
void set_hmi_application_id(uint32_t hmi_app_id);
inline uint32_t hmi_app_id() const;
inline uint32_t app_id() const;
- const std::string& name() const;
+ const custom_str::CustomString& name() const;
void set_folder_name(const std::string& folder_name) OVERRIDE;
const std::string folder_name() const;
bool is_media_application() const;
@@ -138,7 +140,7 @@ class ApplicationImpl : public virtual InitialApplicationDataImpl,
void set_tts_properties_in_full(bool active);
bool tts_properties_in_full();
void set_version(const Version& ver);
- void set_name(const std::string& name);
+ void set_name(const custom_str::CustomString& name);
void set_is_media_application(bool is_media);
void increment_put_file_in_none_count();
void increment_delete_file_in_none_count();
@@ -303,7 +305,7 @@ class ApplicationImpl : public virtual InitialApplicationDataImpl,
uint32_t grammar_id_;
Version version_;
- std::string app_name_;
+ custom_str::CustomString app_name_;
uint32_t hmi_app_id_;
uint32_t app_id_;
smart_objects::SmartObject* active_message_;
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 b79c022a20..a2acb4a3d3 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
@@ -102,6 +102,7 @@ namespace application_manager {
namespace mobile_api = mobile_apis;
using namespace utils;
using namespace timer;
+namespace custom_str = custom_string;
class ApplicationManagerImpl;
diff --git a/src/components/application_manager/include/application_manager/commands/command_request_impl.h b/src/components/application_manager/include/application_manager/commands/command_request_impl.h
index 0401a3bf46..164871e1af 100644
--- a/src/components/application_manager/include/application_manager/commands/command_request_impl.h
+++ b/src/components/application_manager/include/application_manager/commands/command_request_impl.h
@@ -50,19 +50,14 @@ namespace commands {
namespace NsSmart = NsSmartDeviceLink::NsSmartObjects;
class CommandRequestImpl : public CommandImpl,
- public event_engine::EventObserver {
+ public event_engine::EventObserver {
public:
-
- enum RequestState {
- kAwaitingHMIResponse = 0,
- kTimedOut,
- kCompleted
- };
+ enum RequestState { kAwaitingHMIResponse = 0, kTimedOut, kCompleted };
explicit CommandRequestImpl(const MessageSharedPtr& message);
virtual ~CommandRequestImpl();
virtual bool CheckPermissions();
- virtual bool Init();
+ virtual bool Init();
virtual bool CleanUp();
virtual void Run();
@@ -99,7 +94,7 @@ class CommandRequestImpl : public CommandImpl,
* @param allow_empty_string if true methods allow empty sting
* @return true if success otherwise return false
*/
- bool CheckSyntax(std::string str, bool allow_empty_line = false);
+ bool CheckSyntax(const std::string& str, bool allow_empty_line = false);
/*
* @brief Sends HMI request
@@ -110,8 +105,8 @@ class CommandRequestImpl : public CommandImpl,
* @return hmi correlation id
*/
uint32_t SendHMIRequest(const hmi_apis::FunctionID::eType& function_id,
- const smart_objects::SmartObject* msg_params = NULL,
- bool use_events = false);
+ const smart_objects::SmartObject* msg_params = NULL,
+ bool use_events = false);
/*
* @brief Creates HMI request
@@ -131,8 +126,7 @@ class CommandRequestImpl : public CommandImpl,
mobile_apis::Result::eType GetMobileResultCode(
const hmi_apis::Common_Result::eType& hmi_code) const;
-protected:
-
+ protected:
/**
* @brief Checks message permissions and parameters according to policy table
* permissions
@@ -161,14 +155,13 @@ protected:
bool HasDisallowedParams() const;
protected:
- RequestState current_state_;
- sync_primitives::Lock state_lock_;
- CommandParametersPermissions parameters_permissions_;
+ RequestState current_state_;
+ sync_primitives::Lock state_lock_;
+ CommandParametersPermissions parameters_permissions_;
private:
DISALLOW_COPY_AND_ASSIGN(CommandRequestImpl);
-
/**
* @brief Adds param to disallowed parameters enumeration
* @param info string with disallowed params enumeration
@@ -181,7 +174,8 @@ protected:
* @brief Adds disallowed parameters to response info
* @param response Response message, which info should be extended
*/
- void AddDisallowedParametersToInfo(smart_objects::SmartObject& response) const;
+ void AddDisallowedParametersToInfo(
+ smart_objects::SmartObject& response) const;
};
} // namespace commands
diff --git a/src/components/application_manager/include/application_manager/commands/mobile/change_registration_request.h b/src/components/application_manager/include/application_manager/commands/mobile/change_registration_request.h
index b8ac0e7831..5e12b1f08d 100644
--- a/src/components/application_manager/include/application_manager/commands/mobile/change_registration_request.h
+++ b/src/components/application_manager/include/application_manager/commands/mobile/change_registration_request.h
@@ -39,15 +39,18 @@
#include "application_manager/commands/command_request_impl.h"
#include "application_manager/commands/pending.h"
#include "utils/macro.h"
+#include "utils/custom_string.h"
namespace application_manager {
namespace commands {
+namespace custom_str = utils::custom_string;
+
/**
* @brief ChangeRegistrationRequest command class
**/
-class ChangeRegistrationRequest : public CommandRequestImpl {
+class ChangeRegistrationRequest : public CommandRequestImpl {
public:
/**
* @brief ChangeRegistrationRequest class constructor
@@ -107,9 +110,9 @@ class ChangeRegistrationRequest : public CommandRequestImpl {
*
* @return true if all of result codes is success
*/
- bool AllHmiResponsesSuccess(const hmi_apis::Common_Result::eType ui,
- const hmi_apis::Common_Result::eType vr,
- const hmi_apis::Common_Result::eType tts);
+ bool AllHmiResponsesSuccess(const hmi_apis::Common_Result::eType ui,
+ const hmi_apis::Common_Result::eType vr,
+ const hmi_apis::Common_Result::eType tts);
/**
* @brief Checks change_registration params(ttsName, appname,
@@ -118,49 +121,49 @@ class ChangeRegistrationRequest : public CommandRequestImpl {
* @return true if command contains \t\n \\t \\n of whitespace otherwise
* returns false.
*/
- bool IsWhiteSpaceExist();
-
- /**
- * @brief Check parameters (name, vr) for
- * coincidence with already known parameters of registered applications
- *
- * @return SUCCESS if there is no coincidence of app.name/VR synonyms,
- * otherwise appropriate error code returns
- */
- mobile_apis::Result::eType CheckCoincidence();
-
- /**
- * @brief Checks if requested name is allowed by policy
- * @param app_name Application name
- * @return true, if allowed, otherwise - false
- */
- bool IsNicknameAllowed(const std::string& app_name) const;
-
- /**
- * @brief Predicate for using with CheckCoincidence method to compare with VR synonym SO
- *
- * @return TRUE if there is coincidence of VR, otherwise FALSE
- */
- struct CoincidencePredicateVR {
- explicit CoincidencePredicateVR(const std::string &newItem)
- :newItem_(newItem)
- {};
-
- bool operator()(smart_objects::SmartObject obj) {
- const std::string vr_synonym = obj.asString();
- return !(strcasecmp(vr_synonym.c_str(), newItem_.c_str()));
- };
-
- const std::string &newItem_;
- };
-
- Pending pending_requests_;
-
- hmi_apis::Common_Result::eType ui_result_;
- hmi_apis::Common_Result::eType vr_result_;
- hmi_apis::Common_Result::eType tts_result_;
-
- DISALLOW_COPY_AND_ASSIGN(ChangeRegistrationRequest);
+ bool IsWhiteSpaceExist();
+
+ /**
+ * @brief Check parameters (name, vr) for
+ * coincidence with already known parameters of registered applications
+ *
+ * @return SUCCESS if there is no coincidence of app.name/VR synonyms,
+ * otherwise appropriate error code returns
+ */
+ mobile_apis::Result::eType CheckCoincidence();
+
+ /**
+ * @brief Checks if requested name is allowed by policy
+ * @param app_name Application name
+ * @return true, if allowed, otherwise - false
+ */
+ bool IsNicknameAllowed(const custom_str::CustomString& app_name) const;
+
+ /**
+ * @brief Predicate for using with CheckCoincidence method to compare with VR
+ * synonym SO
+ *
+ * @return TRUE if there is coincidence of VR, otherwise FALSE
+ */
+ struct CoincidencePredicateVR {
+ explicit CoincidencePredicateVR(const custom_str::CustomString& newItem)
+ : newItem_(newItem){};
+
+ bool operator()(const smart_objects::SmartObject& obj) const {
+ const custom_str::CustomString& vr_synonym = obj.asCustomString();
+ return newItem_.CompareIgnoreCase(vr_synonym);
+ };
+
+ const custom_str::CustomString& newItem_;
+ };
+
+ Pending pending_requests_;
+
+ hmi_apis::Common_Result::eType ui_result_;
+ hmi_apis::Common_Result::eType vr_result_;
+ hmi_apis::Common_Result::eType tts_result_;
+
+ DISALLOW_COPY_AND_ASSIGN(ChangeRegistrationRequest);
};
} // namespace commands
diff --git a/src/components/application_manager/include/application_manager/commands/mobile/register_app_interface_request.h b/src/components/application_manager/include/application_manager/commands/mobile/register_app_interface_request.h
index df1b5a70d9..5d1ee428cc 100644
--- a/src/components/application_manager/include/application_manager/commands/mobile/register_app_interface_request.h
+++ b/src/components/application_manager/include/application_manager/commands/mobile/register_app_interface_request.h
@@ -37,6 +37,7 @@
#include <string.h>
#include "application_manager/commands/command_request_impl.h"
#include "utils/macro.h"
+#include "utils/custom_string.h"
namespace policy {
struct DeviceInfo;
@@ -48,6 +49,8 @@ class Application;
namespace commands {
+namespace custom_str = utils::custom_string;
+
/**
* @brief Register app interface request command class
**/
@@ -99,22 +102,21 @@ class RegisterAppInterfaceRequest : public CommandRequestImpl {
mobile_apis::Result::eType CheckCoincidence();
/*
- * @brief Predicate for using with CheckCoincidence method to compare with VR synonym SO
+ * @brief Predicate for using with CheckCoincidence method to compare with VR
+ * synonym SO
*
* return TRUE if there is coincidence of VR, otherwise FALSE
*/
struct CoincidencePredicateVR {
- explicit CoincidencePredicateVR(const std::string &newItem)
- :newItem_(newItem)
- {};
-
- bool operator()(smart_objects::SmartObject obj) {
- const std::string vr_synonym = obj.asString();
- return !(strcasecmp(vr_synonym.c_str(), newItem_.c_str()));
- };
+ explicit CoincidencePredicateVR(const custom_str::CustomString& newItem)
+ : newItem_(newItem){};
- const std::string &newItem_;
+ bool operator()(const smart_objects::SmartObject& obj) {
+ const custom_str::CustomString& vr_synonym = obj.asCustomString();
+ return newItem_.CompareIgnoreCase(vr_synonym);
};
+ const custom_str::CustomString& newItem_;
+ };
/**
* @brief Check request parameters against policy table data
@@ -152,11 +154,10 @@ class RegisterAppInterfaceRequest : public CommandRequestImpl {
*/
void SendSubscribeCustomButtonNotification();
-private:
+ private:
std::string response_info_;
mobile_apis::Result::eType result_checking_app_hmi_type_;
-
DISALLOW_COPY_AND_ASSIGN(RegisterAppInterfaceRequest);
};
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 a7f3349638..deda63c0ae 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
@@ -46,6 +46,7 @@
#include "utils/threads/thread_delegate.h"
#include "utils/conditional_variable.h"
#include "utils/rwlock.h"
+#include "utils/custom_string.h"
#include "usage_statistics/statistics_manager.h"
#include "application_manager/policies/policy_handler_observer.h"
#include "utils/threads/async_runner.h"
@@ -58,11 +59,13 @@ class Value;
namespace policy {
typedef std::vector<uint32_t> AppIds;
typedef std::vector<uint32_t> DeviceHandles;
+namespace custom_str = utils::custom_string;
-class PolicyHandler :
- public utils::Singleton<PolicyHandler, utils::deleters::Deleter<PolicyHandler> >,
- public PolicyListener,
- public threads::AsyncRunner {
+class PolicyHandler
+ : public utils::Singleton<PolicyHandler,
+ utils::deleters::Deleter<PolicyHandler> >,
+ public PolicyListener,
+ public threads::AsyncRunner {
public:
virtual ~PolicyHandler();
bool LoadPolicyLibrary();
@@ -87,18 +90,18 @@ class PolicyHandler :
bool GetPriority(const std::string& policy_app_id, std::string* priority);
void CheckPermissions(const PTString& app_id,
- const PTString& hmi_level,
- const PTString& rpc,
- const RPCParams& rpc_params,
- CheckPermissionResult& result);
+ const PTString& hmi_level,
+ const PTString& rpc,
+ const RPCParams& rpc_params,
+ CheckPermissionResult& result);
uint32_t GetNotificationsNumber(const std::string& priority);
DeviceConsent GetUserConsentForDevice(const std::string& device_id);
bool GetDefaultHmi(const std::string& policy_app_id,
- std::string* default_hmi);
+ std::string* default_hmi);
bool GetInitialAppData(const std::string& application_id,
- StringArray* nicknames = NULL,
- StringArray* app_hmi_types = NULL);
+ StringArray* nicknames = NULL,
+ StringArray* app_hmi_types = NULL);
void GetServiceUrls(const std::string& service_type,
EndpointUrls& end_points);
@@ -163,7 +166,8 @@ class PolicyHandler :
* @param device_id Device mac address
* @param connection_type Device connection type
*/
- void AddDevice(const std::string& device_id, const std::string& connection_type);
+ void AddDevice(const std::string& device_id,
+ const std::string& connection_type);
/**
* @brief Save device info for specific device to policy table
@@ -179,7 +183,7 @@ class PolicyHandler :
* @param permissions User-changed group permissions consent
*/
void OnAppPermissionConsent(const uint32_t connection_key,
- const PermissionConsent &permissions);
+ const PermissionConsent& permissions);
/**
* @brief Get appropriate message parameters and send them with response
@@ -219,7 +223,7 @@ class PolicyHandler :
* application
* @param policy_app_id Application id
*/
- std::string OnCurrentDeviceIdUpdateRequired(const std::string& policy_app_id);
+ std::string OnCurrentDeviceIdUpdateRequired(const std::string& policy_app_id);
/**
* @brief Set parameters from OnSystemInfoChanged to policy table
@@ -277,9 +281,10 @@ class PolicyHandler :
*/
uint32_t GetAppIdForSending();
- std::string GetAppName(const std::string& policy_app_id);
+ custom_str::CustomString GetAppName(const std::string& policy_app_id);
- virtual void OnUpdateHMIAppType(std::map<std::string, StringArray> app_hmi_types);
+ virtual void OnUpdateHMIAppType(
+ std::map<std::string, StringArray> app_hmi_types);
virtual void OnCertificateUpdated(const std::string& certificate_data);
@@ -366,7 +371,7 @@ class PolicyHandler :
*/
void OnAppRegisteredOnMobile(const std::string& application_id);
-//TODO(AKutsan) REMOVE THIS UGLY HOTFIX
+ // TODO(AKutsan) REMOVE THIS UGLY HOTFIX
virtual void Increment(usage_statistics::GlobalCounterId type);
virtual void Increment(const std::string& app_id,
usage_statistics::AppCounterId type);
@@ -381,25 +386,24 @@ class PolicyHandler :
void SetPolicyManager(utils::SharedPtr<PolicyManager> pm) {
policy_manager_ = pm;
}
-#endif // BUILD_TESTS
+#endif // BUILD_TESTS
#ifdef ENABLE_SECURITY
std::string RetrieveCertificate() const;
-#endif // ENABLE_SECURITY
-
-protected:
+#endif // ENABLE_SECURITY
+ protected:
/**
* Starts next retry exchange policy table
*/
void StartNextRetry();
private:
-
/**
* Checks system action of application for permission of keep context
* @param system_action system action (see mobile api)
* @param policy_app_id unique application id
- * @return false if system_action is KEEP_CONTEXT and it isn't allowed by policy
+ * @return false if system_action is KEEP_CONTEXT and it isn't allowed by
+ * policy
* otherwise true
*/
bool CheckKeepContext(const std::string& policy_app_id);
@@ -408,7 +412,8 @@ protected:
* Checks system action of application for permission of steal focus
* @param system_action system action (see mobile api)
* @param policy_app_id unique application id
- * @return false if system_action is STEAL_FOCUS and it isn't allowed by policy
+ * @return false if system_action is STEAL_FOCUS and it isn't allowed by
+ * policy
* otherwise true
*/
bool CheckStealFocus(const std::string& policy_app_id);
@@ -428,40 +433,33 @@ protected:
*/
void SetDaysAfterEpoch();
-private:
- class StatisticManagerImpl: public usage_statistics::StatisticsManager {
- //TODO(AKutsan) REMOVE THIS UGLY HOTFIX
- virtual void Increment(usage_statistics::GlobalCounterId type) {
-
- PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(type));
- }
-
- virtual void Increment(const std::string& app_id,
- usage_statistics::AppCounterId type) {
-
- PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(app_id,
- type));
- }
-
- virtual void Set(const std::string& app_id,
- usage_statistics::AppInfoId type,
- const std::string& value) {
-
- PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(app_id,
- type,
- value));
- }
-
- virtual void Add(const std::string& app_id,
- usage_statistics::AppStopwatchId type,
- int32_t timespan_seconds) {
-
- PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(
- app_id, type, timespan_seconds));
- }
+ private:
+ class StatisticManagerImpl : public usage_statistics::StatisticsManager {
+ // TODO(AKutsan) REMOVE THIS UGLY HOTFIX
+ virtual void Increment(usage_statistics::GlobalCounterId type) {
+ PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(type));
+ }
+
+ virtual void Increment(const std::string& app_id,
+ usage_statistics::AppCounterId type) {
+ PolicyHandler::instance()->AsyncRun(new StatisticsDelegate(app_id, type));
+ }
+
+ virtual void Set(const std::string& app_id,
+ usage_statistics::AppInfoId type,
+ const std::string& value) {
+ PolicyHandler::instance()->AsyncRun(
+ new StatisticsDelegate(app_id, type, value));
+ }
+
+ virtual void Add(const std::string& app_id,
+ usage_statistics::AppStopwatchId type,
+ int32_t timespan_seconds) {
+ PolicyHandler::instance()->AsyncRun(
+ new StatisticsDelegate(app_id, type, timespan_seconds));
+ }
};
- //TODO(AKutsan) REMOVE THIS UGLY HOTFIX
-
+ // TODO(AKutsan) REMOVE THIS UGLY HOTFIX
PolicyHandler();
bool SaveSnapshot(const BinaryMessage& pt_string, std::string& snap_path);
@@ -481,7 +479,7 @@ private:
inline bool CreateManager();
- typedef std::list <PolicyHandlerObserver*> HandlersCollection;
+ typedef std::list<PolicyHandlerObserver*> HandlersCollection;
HandlersCollection listeners_;
sync_primitives::Lock listeners_lock_;
@@ -499,8 +497,8 @@ private:
friend class AppPermissionDelegate;
DISALLOW_COPY_AND_ASSIGN(PolicyHandler);
- FRIEND_BASE_SINGLETON_CLASS_WITH_DELETER(PolicyHandler,
- utils::deleters::Deleter<PolicyHandler>);
+ FRIEND_BASE_SINGLETON_CLASS_WITH_DELETER(
+ PolicyHandler, utils::deleters::Deleter<PolicyHandler>);
FRIEND_DELETER_DESTRUCTOR(PolicyHandler);
};