summaryrefslogtreecommitdiff
path: root/src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin
diff options
context:
space:
mode:
authorYaroslav Mamykin (GitHub) <33784535+YarikMamykin@users.noreply.github.com>2019-09-20 23:21:40 +0300
committerJacob Keeler <jacob.keeler@livioradio.com>2019-09-20 16:21:40 -0400
commit5c7eef2b59c419be127da1bd0cc267884ee94182 (patch)
tree4fdc68001b57e6819414525f9fa76b04c6343ea4 /src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin
parente833e65ec42ee9a99eb4488e5bff4f23d9789768 (diff)
downloadsdl_core-5c7eef2b59c419be127da1bd0cc267884ee94182.tar.gz
Fix merge module data incorrect behavior (#3017)
* Fix MergeModuleData invalid behavior * Rework MergeModuleData and MergeArray logic * Add unit tests
Diffstat (limited to 'src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin')
-rw-r--r--src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_helpers.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_helpers.h b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_helpers.h
index 7b249cb4b8..eed860fc7f 100644
--- a/src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_helpers.h
+++ b/src/components/application_manager/rpc_plugins/rc_rpc_plugin/include/rc_rpc_plugin/rc_helpers.h
@@ -146,6 +146,29 @@ class RCHelpers {
*/
static void RemoveRedundantGPSDataFromIVDataMsg(
smart_objects::SmartObject& msg_params);
+
+ /**
+ * @brief MergeModuleData all keys and values from first parameter and
+ * update and append keys and values from the second
+ * @param data1 - initial data
+ * @param data2 - updated data
+ * @return updated data1 with data2 keys and values
+ */
+ static smart_objects::SmartObject MergeModuleData(
+ const smart_objects::SmartObject& data1,
+ const smart_objects::SmartObject& data2);
+
+ /**
+ * @brief MergeArray merge two arrays if their elements contain an `id`
+ * parameter
+ * @param data1 - initial data
+ * @param data2 - updated data
+ * @return updated data1 with any values in data2 if the arrays can be merged,
+ * otherwise data2
+ */
+ static smart_objects::SmartObject MergeArray(
+ const smart_objects::SmartObject& data1,
+ const smart_objects::SmartObject& data2);
};
} // namespace rc_rpc_plugin