diff options
12 files changed, 38 insertions, 8 deletions
diff --git a/src/appMain/hmi_capabilities.json b/src/appMain/hmi_capabilities.json index 8b61df1b31..6731c858ca 100755 --- a/src/appMain/hmi_capabilities.json +++ b/src/appMain/hmi_capabilities.json @@ -7,6 +7,7 @@ ], "displayCapabilities": { "displayType": "GEN2_8_DMA", + "displayName": "GENERIC_DISPLAY", "textFields": [{ "name": "mainField1", "characterSet": "TYPE2SET", diff --git a/src/components/application_manager/include/application_manager/smart_object_keys.h b/src/components/application_manager/include/application_manager/smart_object_keys.h index 1c71cec29d..ca5d60b116 100644 --- a/src/components/application_manager/include/application_manager/smart_object_keys.h +++ b/src/components/application_manager/include/application_manager/smart_object_keys.h @@ -479,6 +479,7 @@ extern const char* dtc; extern const char* ecu_header; extern const char* image_capabilities; extern const char* display_type; +extern const char* display_name; extern const char* text_fields; extern const char* media_clock_formats; extern const char* graphic_supported; diff --git a/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc b/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc index c799d68609..54def92111 100644 --- a/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc +++ b/src/components/application_manager/src/commands/mobile/register_app_interface_request.cc @@ -453,6 +453,10 @@ void FillUIRelatedFields(smart_objects::SmartObject& response_params, hmi_capabilities.display_capabilities()->getElement( hmi_response::display_type); + display_caps[hmi_response::display_name] = + hmi_capabilities.display_capabilities()->getElement( + hmi_response::display_name); + display_caps[hmi_response::text_fields] = hmi_capabilities.display_capabilities()->getElement( hmi_response::text_fields); diff --git a/src/components/application_manager/src/smart_object_keys.cc b/src/components/application_manager/src/smart_object_keys.cc index 26ca8e790f..47fae60728 100644 --- a/src/components/application_manager/src/smart_object_keys.cc +++ b/src/components/application_manager/src/smart_object_keys.cc @@ -437,6 +437,7 @@ const char* dtc = "dtc"; const char* ecu_header = "ecuHeader"; const char* image_capabilities = "imageCapabilities"; const char* display_type = "displayType"; +const char* display_name = "displayName"; const char* text_fields = "textFields"; const char* media_clock_formats = "mediaClockFormats"; const char* graphic_supported = "graphicSupported"; diff --git a/src/components/application_manager/test/commands/hmi/ui_get_capabilities_response_test.cc b/src/components/application_manager/test/commands/hmi/ui_get_capabilities_response_test.cc index b02c9851ee..7dd7a74f4c 100644 --- a/src/components/application_manager/test/commands/hmi/ui_get_capabilities_response_test.cc +++ b/src/components/application_manager/test/commands/hmi/ui_get_capabilities_response_test.cc @@ -95,6 +95,8 @@ TEST_F(UIGetCapabilitiesResponseTest, RUN_SetDisplay_SUCCESSS) { smart_objects::SmartObject(smart_objects::SmartType_Map); (*command_msg)[strings::msg_params][hmi_response::display_capabilities] [hmi_response::display_type] = "GEN2_8_DMA"; + (*command_msg)[strings::msg_params][hmi_response::display_capabilities] + [hmi_response::display_name] = "GENERIC_DISPLAY"; ResponseFromHMIPtr command( CreateCommand<UIGetCapabilitiesResponse>(command_msg)); diff --git a/src/components/application_manager/test/commands/mobile/register_app_interface_request_test.cc b/src/components/application_manager/test/commands/mobile/register_app_interface_request_test.cc index b7a004f199..457310d0c0 100644 --- a/src/components/application_manager/test/commands/mobile/register_app_interface_request_test.cc +++ b/src/components/application_manager/test/commands/mobile/register_app_interface_request_test.cc @@ -344,6 +344,7 @@ TEST_F(RegisterAppInterfaceRequestTest, SmartObject& display_capabilities = (*expected_message)[am::hmi_response::display_capabilities]; display_capabilities[am::hmi_response::display_type] = "test_display_type"; + display_capabilities[am::hmi_response::display_name] = "GENERIC_DISPLAY"; display_capabilities[am::hmi_response::text_fields] = "test_text_fields"; display_capabilities[am::hmi_response::image_fields] = "test_image_fields"; display_capabilities[am::hmi_response::media_clock_formats] = diff --git a/src/components/application_manager/test/hmi_capabilities.json b/src/components/application_manager/test/hmi_capabilities.json index 0efcc688bc..fbf856873f 100644 --- a/src/components/application_manager/test/hmi_capabilities.json +++ b/src/components/application_manager/test/hmi_capabilities.json @@ -42,6 +42,7 @@ ], "displayCapabilities": { "displayType": "GEN2_8_DMA", + "displayName": "GENERIC_DISPLAY", "textFields": [ { "name": "mainField1", diff --git a/src/components/application_manager/test/hmi_capabilities_test.cc b/src/components/application_manager/test/hmi_capabilities_test.cc index b8369528aa..8033dfa027 100644 --- a/src/components/application_manager/test/hmi_capabilities_test.cc +++ b/src/components/application_manager/test/hmi_capabilities_test.cc @@ -269,6 +269,8 @@ TEST_F(HMICapabilitiesTest, LoadCapabilitiesFromFile) { static_cast<hmi_apis::Common_DisplayType::eType>( display_capabilities_so[hmi_response::display_type].asInt())); + EXPECT_EQ("GENERIC_DISPLAY", display_capabilities_so[hmi_response::display_name].asString()); + EXPECT_TRUE(display_capabilities_so["graphicSupported"].asBool()); // Check text fields diff --git a/src/components/interfaces/HMI_API.xml b/src/components/interfaces/HMI_API.xml index 2b34de0440..37b3167c8b 100644 --- a/src/components/interfaces/HMI_API.xml +++ b/src/components/interfaces/HMI_API.xml @@ -409,7 +409,7 @@ <element name="SUSPEND" /> </enum> -<enum name="DisplayType"> +<enum name="DisplayType" deprecated="true"> <description>The possible types of HU display.</description> <element name="CID"> <description> A 2-line x 20 character "dot matrix" display </description> @@ -2114,9 +2114,12 @@ <struct name="DisplayCapabilities"> <description>Contains information about the display capabilities.</description> - <param name="displayType" type="Common.DisplayType" mandatory="true"> + <param name="displayType" type="Common.DisplayType" mandatory="true" deprecated="true"> <description>The type of the display. See DisplayType</description> </param> + <param name="displayName" type="String" mandatory="false"> + <description>The name of the display the app is connected to.</description> + </param> <param name="textFields" type="Common.TextField" minsize="0" maxsize="100" array="true" mandatory="true"> <description>A set of all fields for text displaying supported by HU. See TextFieldName.</description> <description>If there are no textfields supported, the empty array must be returned</description> diff --git a/src/components/interfaces/MOBILE_API.xml b/src/components/interfaces/MOBILE_API.xml index d64aef1bf7..ad2c6dd72e 100644 --- a/src/components/interfaces/MOBILE_API.xml +++ b/src/components/interfaces/MOBILE_API.xml @@ -619,7 +619,7 @@ </element> </enum> - <enum name="DisplayType"> + <enum name="DisplayType" deprecated="true"> <description>See DAES for further infos regarding the displays</description> <element name="CID"/> <element name="TYPE2" /> @@ -1937,9 +1937,12 @@ <struct name="DisplayCapabilities"> <description>Contains information about the display capabilities.</description> - <param name="displayType" type="DisplayType" mandatory="true"> + <param name="displayType" type="DisplayType" mandatory="true" deprecated="true"> <description>The type of the display. See DisplayType</description> </param> + <param name="displayName" type="String" mandatory="false"> + <description>The name of the display the app is connected to.</description> + </param> <param name="textFields" type="TextField" minsize="1" maxsize="100" array="true" mandatory="true"> <description>A set of all fields that support text data. See TextField</description> </param> diff --git a/tools/InterfaceGenerator/generator/Model.py b/tools/InterfaceGenerator/generator/Model.py index ee458d934a..8c1c2f95f9 100755 --- a/tools/InterfaceGenerator/generator/Model.py +++ b/tools/InterfaceGenerator/generator/Model.py @@ -180,13 +180,14 @@ class Enum(InterfaceItemBase): def __init__(self, name, description=None, design_description=None, issues=None, todos=None, platform=None, internal_scope=None, - elements=None, scope=None): + elements=None, scope=None, deprecated=None): super(Enum, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, platform=platform, scope=scope) self.internal_scope = internal_scope + self.deprecated = deprecated self.elements = \ elements if elements is not None else collections.OrderedDict() @@ -229,7 +230,7 @@ class Param(InterfaceItemBase): def __init__(self, name, param_type, description=None, design_description=None, issues=None, todos=None, - platform=None, is_mandatory=True, default_value=None, scope=None): + platform=None, is_mandatory=True, default_value=None, scope=None, deprecated = None): super(Param, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, @@ -238,6 +239,7 @@ class Param(InterfaceItemBase): self.is_mandatory = is_mandatory self.param_type = param_type self.default_value = default_value + self.deprecated = deprecated class FunctionParam(Param): @@ -251,11 +253,11 @@ class FunctionParam(Param): def __init__(self, name, param_type, description=None, design_description=None, issues=None, todos=None, - platform=None, is_mandatory=True, default_value=None, scope=None): + platform=None, is_mandatory=True, default_value=None, scope=None, deprecated=None): super(FunctionParam, self).__init__( name, param_type=param_type, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform, is_mandatory=is_mandatory, default_value=default_value, scope=scope) + platform=platform, is_mandatory=is_mandatory, default_value=default_value, scope=scope, deprecated=deprecated) self.default_value = default_value diff --git a/tools/InterfaceGenerator/generator/parsers/RPCBase.py b/tools/InterfaceGenerator/generator/parsers/RPCBase.py index 4853916dad..45ffaca5f0 100755 --- a/tools/InterfaceGenerator/generator/parsers/RPCBase.py +++ b/tools/InterfaceGenerator/generator/parsers/RPCBase.py @@ -203,16 +203,20 @@ class Parser(object): internal_scope = None scope = None + deprecated = None for attribute in attributes: if attribute == "internal_scope": internal_scope = attributes[attribute] elif attribute == "scope": scope = attributes[attribute] + elif attribute == "deprecated": + deprecated = attributes[attribute] else: raise ParseError("Unexpected attribute '" + attribute + "' in enum '" + params["name"] + "'") params["internal_scope"] = internal_scope params["scope"] = scope + params["deprecated"] = deprecated elements = collections.OrderedDict() for subelement in subelements: @@ -555,6 +559,11 @@ class Parser(object): params["is_mandatory"] = self._get_bool_from_string(is_mandatory) + deprecated = None + deprecated = self._extract_optional_bool_attrib(attrib, "deprecated", False) + if deprecated is not None: + params["deprecated"] = deprecated + scope = self._extract_attrib(attrib, "scope") if scope is not None: params["scope"] = scope |