diff options
author | dtrunov <dtrunov@luxoft.com> | 2015-12-01 10:13:12 +0200 |
---|---|---|
committer | dtrunov <dtrunov@luxoft.com> | 2016-01-25 16:03:49 +0200 |
commit | 6d4a32b1cd85b0c7301b66851973a77e32013b40 (patch) | |
tree | 8535b35c7487d54addea4ae0e591a75b65b71059 /src/components/formatters | |
parent | 73a227291c827507221ce16dc78f1c7d84bc9dc5 (diff) | |
download | sdl_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')
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 |