summaryrefslogtreecommitdiff
path: root/src/components/formatters
diff options
context:
space:
mode:
authordtrunov <dtrunov@luxoft.com>2015-12-01 10:13:12 +0200
committerdtrunov <dtrunov@luxoft.com>2016-01-25 16:03:49 +0200
commit6d4a32b1cd85b0c7301b66851973a77e32013b40 (patch)
tree8535b35c7487d54addea4ae0e591a75b65b71059 /src/components/formatters
parent73a227291c827507221ce16dc78f1c7d84bc9dc5 (diff)
downloadsdl_core-6d4a32b1cd85b0c7301b66851973a77e32013b40.tar.gz
SDL transfer PlayTone parameter to HMI in speak request.
Added ability to remove fake parameter according with MOBILE_API.xml Closes-bug:[APPLINK-17980](https://adc.luxoft.com/jira/browse/APPLINK-17980)
Diffstat (limited to 'src/components/formatters')
-rw-r--r--src/components/formatters/include/formatters/CSmartFactory.hpp16
-rw-r--r--src/components/formatters/test/CSmartFactory_test.cc8
-rw-r--r--src/components/formatters/test/formatter_json_rpc_test.cc8
3 files changed, 19 insertions, 13 deletions
diff --git a/src/components/formatters/include/formatters/CSmartFactory.hpp b/src/components/formatters/include/formatters/CSmartFactory.hpp
index 7cefabaa74..55f9a30385 100644
--- a/src/components/formatters/include/formatters/CSmartFactory.hpp
+++ b/src/components/formatters/include/formatters/CSmartFactory.hpp
@@ -149,9 +149,13 @@ namespace NsSmartDeviceLink
*
* @param object SmartObject to attach schema for.
*
+ * @param RemoveFakeParameters contains true if need
+ * to remove fake parameters from smart object otherwise contains false.
+ *
* @return True if operation was successful or false otherwise.
*/
- bool attachSchema(NsSmartDeviceLink::NsSmartObjects::SmartObject& object);
+ bool attachSchema(NsSmartDeviceLink::NsSmartObjects::SmartObject& object,
+ const bool RemoveFakeParameters);
/**
* @brief Attach schema to the struct SmartObject.
@@ -275,7 +279,9 @@ namespace NsSmartDeviceLink
}
template <class FunctionIdEnum, class MessageTypeEnum, class StructIdEnum>
- bool CSmartFactory<FunctionIdEnum, MessageTypeEnum, StructIdEnum>::attachSchema(NsSmartDeviceLink::NsSmartObjects::SmartObject &object)
+ bool CSmartFactory<FunctionIdEnum, MessageTypeEnum, StructIdEnum>::
+ attachSchema(NsSmartDeviceLink::NsSmartObjects::SmartObject &object,
+ const bool RemoveFakeParameters)
{
if(false == object.keyExists(strings::S_PARAMS)) return false;
if(false == object[strings::S_PARAMS].keyExists(strings::S_MESSAGE_TYPE)) return false;
@@ -295,7 +301,7 @@ namespace NsSmartDeviceLink
}
object.setSchema(schemaIterator->second);
- schemaIterator->second.applySchema(object);
+ schemaIterator->second.applySchema(object, RemoveFakeParameters);
return true;
}
@@ -315,7 +321,7 @@ namespace NsSmartDeviceLink
}
object.setSchema(structs_iterator->second);
- structs_iterator->second.applySchema(object);
+ structs_iterator->second.applySchema(object, false);
return true;
}
@@ -338,7 +344,7 @@ namespace NsSmartDeviceLink
NsSmartDeviceLink::NsSmartObjects::SmartObject function_object(
NsSmartDeviceLink::NsSmartObjects::SmartType_Map);
function_object.setSchema(schema_iterator->second);
- schema_iterator->second.applySchema(function_object);
+ schema_iterator->second.applySchema(function_object, false);
return function_object;
}
diff --git a/src/components/formatters/test/CSmartFactory_test.cc b/src/components/formatters/test/CSmartFactory_test.cc
index 39cf67b3fd..41a77f1f1e 100644
--- a/src/components/formatters/test/CSmartFactory_test.cc
+++ b/src/components/formatters/test/CSmartFactory_test.cc
@@ -145,7 +145,7 @@ TEST(CSmartFactoryTest, CreateSmartObj_AttachSchema1_ExpectCreatedObjectCorrespo
obj[S_PARAMS][S_FUNCTION_ID] = FunctionIdTest::Function1;
obj[S_PARAMS][S_MESSAGE_TYPE] = MessageTypeTest::request;
// Attach schema to object
- EXPECT_TRUE(test_factory.attachSchema(obj));
+ EXPECT_TRUE(test_factory.attachSchema(obj, false));
EXPECT_TRUE(SmartType::SmartType_Map == obj.getType());
// Adding necessary fileds to correspond schema
obj[S_PARAMS][S_CORRELATION_ID] = 444;
@@ -166,7 +166,7 @@ TEST(CSmartFactoryTest, CreateSmartObj_AttachSchema1_MissOneField_ExpectCreatedO
obj[S_PARAMS][S_FUNCTION_ID] = FunctionIdTest::Function1;
obj[S_PARAMS][S_MESSAGE_TYPE] = MessageTypeTest::request;
// Attach schema to object
- EXPECT_TRUE(test_factory.attachSchema(obj));
+ EXPECT_TRUE(test_factory.attachSchema(obj, false));
EXPECT_TRUE(SmartType::SmartType_Map == obj.getType());
// Adding necessary fileds to correspond schema but 1 field is missing
obj[S_PARAMS][S_PROTOCOL_VERSION] = 1;
@@ -186,7 +186,7 @@ TEST(CSmartFactoryTest, CreateSmartObj_AttachNotExistedSchema_ExpectSmSchemaNotA
obj[S_PARAMS][S_FUNCTION_ID] = FunctionIdTest::Function1;
obj[S_PARAMS][S_MESSAGE_TYPE] = 10;
// Attach schema to object
- EXPECT_FALSE(test_factory.attachSchema(obj));
+ EXPECT_FALSE(test_factory.attachSchema(obj, false));
EXPECT_TRUE(SmartType::SmartType_Map == obj.getType());
}
@@ -198,7 +198,7 @@ TEST(CSmartFactoryTest, CreateSmartObj_AttachSchema1_AddInvalidValue_ExpectCreat
obj[S_PARAMS][S_FUNCTION_ID] = FunctionIdTest::Function1;
obj[S_PARAMS][S_MESSAGE_TYPE] = MessageTypeTest::request;
// Attach schema to object
- EXPECT_TRUE(test_factory.attachSchema(obj));
+ EXPECT_TRUE(test_factory.attachSchema(obj, false));
EXPECT_TRUE(SmartType::SmartType_Map == obj.getType());
// Adding necessary fileds to correspond schema but 1 field is missing
obj[S_PARAMS][S_PROTOCOL_VERSION] = "string";
diff --git a/src/components/formatters/test/formatter_json_rpc_test.cc b/src/components/formatters/test/formatter_json_rpc_test.cc
index 24bdc2fa3f..9047d6790a 100644
--- a/src/components/formatters/test/formatter_json_rpc_test.cc
+++ b/src/components/formatters/test/formatter_json_rpc_test.cc
@@ -56,7 +56,7 @@ TEST(FormatterJsonRPCTest, CorrectRPCv1_request_SmartObjectToString_EXPECT_SUCCE
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
// Attach Schema
hmi_apis::HMI_API factory;
- EXPECT_TRUE(factory.attachSchema(obj));
+ EXPECT_TRUE(factory.attachSchema(obj, false));
std::string result;
// Convert SmrtObject to Json string
@@ -76,7 +76,7 @@ TEST(FormatterJsonRPCTest, CorrectRPCv2_request_SmartObjectToString_EXPECT_SUCCE
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
// Attach Schema
mobile_apis::MOBILE_API factory;
- EXPECT_TRUE(factory.attachSchema(obj));
+ EXPECT_TRUE(factory.attachSchema(obj, false));
std::string result;
// Convert SmrtObject to Json string
@@ -99,7 +99,7 @@ TEST(FormatterJsonRPCTest, CorrectRPCv1_notification_SmartObjectToString_EXPECT_
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
// Attach Schema
hmi_apis::HMI_API factory;
- EXPECT_TRUE(factory.attachSchema(obj));
+ EXPECT_TRUE(factory.attachSchema(obj, false));
// Convert SmrtObject to Json string
EXPECT_TRUE(FormatterJsonRpc::ToString(obj, result));
EXPECT_EQ(
@@ -121,7 +121,7 @@ TEST(FormatterJsonRPCTest, InvalidRPC_SmartObjectToString_EXPECT_FALSE) {
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
// Attach Schema
hmi_apis::HMI_API factory;
- EXPECT_FALSE(factory.attachSchema(obj));
+ EXPECT_FALSE(factory.attachSchema(obj, false));
// Convert SmrtObject to Json string
EXPECT_FALSE(FormatterJsonRpc::ToString(obj, result));
// Expect result with default value. No correct conversion was done