diff options
Diffstat (limited to 'tools/InterfaceGenerator')
12 files changed, 645 insertions, 211 deletions
diff --git a/tools/InterfaceGenerator/MsgVersionGenerate.py b/tools/InterfaceGenerator/MsgVersionGenerate.py index 86251cd419..4a24a3239f 100644 --- a/tools/InterfaceGenerator/MsgVersionGenerate.py +++ b/tools/InterfaceGenerator/MsgVersionGenerate.py @@ -12,14 +12,25 @@ def generate_msg_version(file_name, path_to_storage): """ tree = xml.etree.ElementTree.parse(file_name) root = tree.getroot() - if (root.tag == "interface" and "version" in root.attrib): + if (root.tag == "interface" and "version" and "minVersion" in root.attrib): check_version_format(root.attrib["version"]) array = (root.attrib["version"]).split(".") major_version = array[0] minor_version = array[1] patch_version = array[2] - if (major_version.isdigit() and minor_version.isdigit() and patch_version.isdigit): - data_for_storage = prepare_data_for_storage(major_version, minor_version, patch_version) + + check_minimum_version_format(root.attrib["minVersion"]) + minimum_version_array = (root.attrib["minVersion"]).split(".") + if (len(minimum_version_array) == 2): + minimum_version_array.append("0") + minimum_major_version = minimum_version_array[0] + minimum_minor_version = minimum_version_array[1] + minimum_patch_version = minimum_version_array[2] + + if (major_version.isdigit() and minor_version.isdigit() and patch_version.isdigit() and + minimum_major_version.isdigit() and minimum_minor_version.isdigit() and minimum_patch_version.isdigit()): + data_for_storage = prepare_data_for_storage(major_version, minor_version, patch_version, + minimum_major_version, minimum_minor_version, minimum_patch_version) store_data_to_file(path_to_storage, data_for_storage) else: raise RPCBase.ParseError("Attribute version has incorect value in MOBILE_API.xml") @@ -45,7 +56,16 @@ def check_version_format(version): raise RPCBase.ParseError("Incorrect format of version please check MOBILE_API.xml. " "Need format of version major_version.minor_version.patch_version") -def prepare_data_for_storage(major_version, minor_version, patch_version): + +def check_minimum_version_format(version): + """Checks correctness of format of version + """ + p = re.compile('\d+\\.\d+\\.\d+|\d+\\.\d+') + result = p.match(version) + if result == None or (result.end() != len(version)): + raise RPCBase.ParseError("Incorrect format of version please check MOBILE_API.xml. " + "Need format of minVersion major_version.minor_version or major_version.minor_version.patch_version") +def prepare_data_for_storage(major_version, minor_version, patch_version, minimum_major_version, minimum_minor_version, minimum_patch_version): """Prepares data to store to file. """ temp = Template( @@ -80,8 +100,12 @@ def prepare_data_for_storage(major_version, minor_version, patch_version): u'''const uint16_t major_version = $m_version;\n''' u'''const uint16_t minor_version = $min_version;\n''' u'''const uint16_t patch_version = $p_version;\n''' + u'''const uint16_t minimum_major_version = $min_major_version;\n''' + u'''const uint16_t minimum_minor_version = $min_minor_version;\n''' + u'''const uint16_t minimum_patch_version = $min_patch_version;\n''' u'''} // namespace application_manager\n''' u'''#endif // GENERATED_MSG_VERSION_H''') - data_to_file = temp.substitute(m_version = major_version, min_version = minor_version, p_version = patch_version) + data_to_file = temp.substitute(m_version = major_version, min_version = minor_version, p_version = patch_version, + min_major_version = minimum_major_version, min_minor_version = minimum_minor_version, min_patch_version = minimum_patch_version) return data_to_file diff --git a/tools/InterfaceGenerator/generator/Model.py b/tools/InterfaceGenerator/generator/Model.py index ee458d934a..e7cce732ed 100755 --- a/tools/InterfaceGenerator/generator/Model.py +++ b/tools/InterfaceGenerator/generator/Model.py @@ -124,7 +124,8 @@ class InterfaceItemBase(object): """ def __init__(self, name, description=None, design_description=None, - issues=None, todos=None, platform=None, default_value=None, scope=None): + issues=None, todos=None, platform=None, default_value=None, scope=None, + since=None, until=None, deprecated=None, removed=None, history=None): self.name = name self.description = description if description is not None else [] self.design_description = \ @@ -134,6 +135,11 @@ class InterfaceItemBase(object): self.platform = platform self.default_value = default_value self.scope = scope + self.since = since + self.until = until + self.deprecated = deprecated + self.removed = removed + self.history = history class EnumElement(InterfaceItemBase): @@ -149,13 +155,18 @@ class EnumElement(InterfaceItemBase): def __init__(self, name, description=None, design_description=None, issues=None, todos=None, platform=None, internal_name=None, - value=None): + value=None, since=None, until=None, deprecated=None, removed=None, history=None): super(EnumElement, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform) + platform=platform, history=history) self.internal_name = internal_name self.value = value + self.since = since + self.until = until + self.deprecated = deprecated + self.removed = removed + @property def primary_name(self): @@ -180,15 +191,19 @@ 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, since=None, until=None, deprecated=None, removed=None, history=None): super(Enum, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform, scope=scope) + platform=platform, scope=scope, history=history) self.internal_scope = internal_scope self.elements = \ elements if elements is not None else collections.OrderedDict() + self.since = since + self.until = until + self.deprecated = deprecated + self.removed = removed class EnumSubset(InterfaceItemBase): @@ -204,15 +219,19 @@ class EnumSubset(InterfaceItemBase): def __init__(self, name, enum, description=None, design_description=None, issues=None, todos=None, platform=None, - allowed_elements=None): + allowed_elements=None, since=None, until=None, deprecated=None, removed=None, history=None): super(EnumSubset, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform) + platform=platform, history=history) self.enum = enum self.allowed_elements = \ allowed_elements if allowed_elements is not None else {} + self.since = since + self.until = until + self.deprecated = deprecated + self.removed = removed class Param(InterfaceItemBase): @@ -229,15 +248,20 @@ 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, + since=None, until=None, deprecated=None, removed=None, history=None): super(Param, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform, default_value=default_value, scope=scope) + platform=platform, default_value=default_value, scope=scope, history=history) self.is_mandatory = is_mandatory self.param_type = param_type self.default_value = default_value + self.since = since + self.until = until + self.deprecated = deprecated + self.removed=removed class FunctionParam(Param): @@ -251,11 +275,13 @@ 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, + since=None, until=None, deprecated=None, removed=None, history=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, since=since, until=until, deprecated=deprecated, removed=removed, history=history) self.default_value = default_value @@ -270,11 +296,13 @@ class Struct(InterfaceItemBase): """ def __init__(self, name, description=None, design_description=None, - issues=None, todos=None, platform=None, members=None, scope=None): + issues=None, todos=None, platform=None, members=None, scope=None, + since=None, until=None, deprecated=None, removed=None, history=None): super(Struct, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform, scope=scope) + platform=platform, scope=scope, since=since, until=until, + deprecated=deprecated, removed=removed, history=history) self.members = \ members if members is not None else collections.OrderedDict() @@ -293,11 +321,11 @@ class Function(InterfaceItemBase): def __init__(self, name, function_id, message_type, description=None, design_description=None, issues=None, todos=None, - platform=None, params=None, scope=None): + platform=None, params=None, scope=None, since=None, until=None, deprecated=None, removed=None, history=None): super(Function, self).__init__( name, description=description, design_description=design_description, issues=issues, todos=todos, - platform=platform, scope=scope) + platform=platform, scope=scope, since=since, until=until, deprecated=deprecated, removed=removed, history=history) self.function_id = function_id self.message_type = message_type diff --git a/tools/InterfaceGenerator/generator/generators/SmartFactoryBase.py b/tools/InterfaceGenerator/generator/generators/SmartFactoryBase.py index d13ac29c9b..c6a0145ac6 100755 --- a/tools/InterfaceGenerator/generator/generators/SmartFactoryBase.py +++ b/tools/InterfaceGenerator/generator/generators/SmartFactoryBase.py @@ -505,7 +505,6 @@ class CodeGenerator(object): String with structs implementation source code. """ - processed_enums = [] return self._struct_impl_template.substitute( namespace=namespace, @@ -518,9 +517,46 @@ class CodeGenerator(object): schema_items_decl=self._gen_schema_items_decls( struct.members.values()), schema_item_fill=self._gen_schema_items_fill( - struct.members.values())), + struct.members.values(), struct.since, struct.until, struct.deprecated, struct.removed)), 1)) + + def _enum_has_history_present(self, enum): + ''' + Check if any elements in an enum has history signature + ''' + for element in enum.param_type.elements.values(): + if ( element.history is not None or + element.since is not None or + element.until is not None or + element.removed is not None ): + return True + return False + + def _element_has_history_present(self, element): + ''' + Check if a specific element has a history signature + ''' + if ( element.history is not None or + element.since is not None or + element.until is not None or + element.removed is not None ): + return True + return False + + def _enum_param_type_has_history_present(self, param_type): + ''' + Check if any elements in an enum has history signature + ''' + for element in param_type.elements.values(): + if ( element.history is not None or + element.since is not None or + element.until is not None or + element.removed is not None ): + return True + return False + + def _gen_schema_loc_decls(self, members, processed_enums): """Generate local declarations of variables for schema. @@ -540,6 +576,7 @@ class CodeGenerator(object): for member in members: if type(member.param_type) is Model.Enum and \ member.param_type.name not in processed_enums: + has_history = self._enum_has_history_present(member) local_var = self._gen_schema_loc_emum_var_name( member.param_type) result = u"\n".join( @@ -555,6 +592,46 @@ class CodeGenerator(object): enum=member.param_type.name, value=x.primary_name) for x in member.param_type.elements.values()])]) + + if has_history == True: + history_result = u"\n" + history_result += self._impl_code_loc_decl_enum_history_set_template.substitute( + type=member.param_type.name) + history_result += u"\n" + history_result += u"\n".join( + [self._impl_code_loc_decl_enum_history_set_value_init_template.substitute( + enum=member.param_type.name, + value=x.primary_name) + for x in member.param_type.elements.values() if self._element_has_history_present(x)]) + history_result += u"\n" + history_map_result = [] + + for x in member.param_type.elements.values(): + if self._element_has_history_present(x): + history_map_result.append( + self._impl_code_loc_decl_enum_history_set_insert_template. + substitute( + enum=member.param_type.name, + value=x.primary_name, + since=x.since if x.since is not None else "", + until=x.until if x.until is not None else "", + removed=x.removed if x.removed is not None else u"false")) + if(x.history is not None) : + history_list = x.history + for item in history_list: + history_map_result.append( + self._impl_code_loc_decl_enum_history_set_insert_template. + substitute( + enum=member.param_type.name, + value=x.primary_name, + since=item.since if item.since is not None else "", + until=item.until if item.until is not None else "", + removed=item.removed if item.removed is not None else u"false")) + + history_result += u"\n".join(history_map_result) + result += "\n" + result += history_result + processed_enums.append(member.param_type.name) result = u"".join([result, u"\n\n"]) if result else u"" elif type(member.param_type) is Model.EnumSubset: @@ -599,10 +676,40 @@ class CodeGenerator(object): """ - result = u"\n\n".join( - [self._gen_schema_item_decl(x) for x in members]) + result_array = [] + for x in members: + result_array.append(self._gen_schema_item_decl(x)) + count = 0 + if x.history is not None: + history_list = x.history + for item in history_list: + item.name += "_history_v" + str(len(history_list)-count) + result_array.append(self._gen_schema_item_decl(item)) + count += 1 + result_array.append(self._gen_history_vector_decl(history_list, x.name)) + + result = u"\n\n".join(result_array) + return result + + def _gen_history_vector_decl(self, history_list, name): + """Generate History Vector Declaration. + + Generates the declaration and initialization + of a vector of schema items + + Arguments: + history_list -> list of history items + name -> name of parent parameter name + + Returns: + String with history array code. + """ + result_array = [] + result_array.append(self._impl_code_shared_ptr_vector_template.substitute(var_name = name)) + result = u"\n".join(result_array) + return result + - return u"".join([result, u"\n\n"]) if result else u"" def _gen_schema_item_decl(self, member): """Generate schema item declaration. @@ -696,16 +803,30 @@ class CodeGenerator(object): code = self._impl_code_struct_item_template.substitute( name=param.name) elif type(param) is Model.Enum: - code = self._impl_code_enum_item_template.substitute( - type=param.name, - params=u"".join( - [self._gen_schema_loc_emum_var_name(param), - u", ", - self._gen_schema_item_param_values( - [[u"".join([param.name, u"::eType"]), - u"".join([param.name, u"::", - default_value.primary_name]) if - default_value is not None else None]])])) + if self._enum_param_type_has_history_present(param): + code = self._impl_code_enum_item_with_history_template.substitute( + type=param.name, + params=u"".join( + [self._gen_schema_loc_emum_var_name(param), + u", ", + self._impl_gen_schema_enum_history_map_template.substitute(name=param.name), + u", ", + self._gen_schema_item_param_values( + [[u"".join([param.name, u"::eType"]), + u"".join([param.name, u"::", + default_value.primary_name]) if + default_value is not None else None]])])) + else: + code = self._impl_code_enum_item_template.substitute( + type=param.name, + params=u"".join( + [self._gen_schema_loc_emum_var_name(param), + u", ", + self._gen_schema_item_param_values( + [[u"".join([param.name, u"::eType"]), + u"".join([param.name, u"::", + default_value.primary_name]) if + default_value is not None else None]])])) elif type(param) is Model.EnumSubset: code = self._impl_code_enum_item_template.substitute( type=param.enum.name, @@ -746,7 +867,7 @@ class CodeGenerator(object): return result - def _gen_schema_items_fill(self, members): + def _gen_schema_items_fill(self, members=None, since=None, until=None, deprecated=None, removed=None): """Generate schema items fill code. Generates source code that fills new schema with items. @@ -758,10 +879,16 @@ class CodeGenerator(object): String with function schema items fill code. """ - - result = u"\n".join( - [self._gen_schema_item_fill(x) for x in members]) - + result_array = [] + for x in members: + #If history, create Smember History vector first + if x.history is not None: + history_list = x.history + for item in history_list: + result_array.append(self._gen_history_vector_item_fill(item, x.name)) + result_array.append(self._gen_schema_item_fill(x, since, until, deprecated, removed)) + + result = u"\n".join(result_array) return u"".join([result, u"\n\n"]) if result else u"" def _gen_schema_params_fill(self, message_type_name): @@ -781,7 +908,34 @@ class CodeGenerator(object): raise GenerateError("Unexpected call to the unimplemented function.") - def _gen_schema_item_fill(self, member): + def _check_member_history(self, member): + """ + Checks set of rules that history items are valid + Raises error if rules are violated + """ + if (member.since is None and + member.until is None and + member.deprecated is None and + member.removed is None and + member.history is None): + return + if (member.history is not None and member.since is None): + raise GenerateError("Error: Missing since version parameter for " + member.name) + if (member.until is not None): + raise GenerateError("Error: Until should only exist in history tag for " + member.name) + if (member.history is None): + if(member.until is not None or + member.deprecated is not None or + member.removed is not None): + raise GenerateError("Error: No history present for " + member.name) + if (member.deprecated is not None and member.removed is not None): + raise GenerateError("Error: Deprecated and removed should not be present together for " + member.name) + if(member.history is not None): + for item in member.history: + if item.since is None or item.until is None: + raise GenerateError("Error: History items require since and until parameters for " + member.name) + + def _gen_schema_item_fill(self, member, since, until, deprecated, removed): """Generate schema item fill code. Generates source code that fills new schema with item. @@ -793,11 +947,62 @@ class CodeGenerator(object): String with schema item fill code. """ + self._check_member_history(member) + + if (since is not None or + member.since is not None): + if member.history is not None: + return self._impl_code_item_fill_template_with_version_and_history_vector.substitute( + name=member.name, + var_name=self._gen_schema_item_var_name(member), + is_mandatory=u"true" if member.is_mandatory is True else u"false", + since=member.since if member.since is not None else since if since is not None else "", + until=member.until if member.until is not None else until if until is not None else "", + deprecated=member.deprecated if member.deprecated is not None else deprecated if deprecated is not None else u"false", + removed=member.removed if member.removed is not None else removed if removed is not None else u"false", + vector_name=member.name) + else: + return self._impl_code_item_fill_template_with_version.substitute( + name=member.name, + var_name=self._gen_schema_item_var_name(member), + is_mandatory=u"true" if member.is_mandatory is True else u"false", + since=member.since if member.since is not None else since if since is not None else "", + until=member.until if member.until is not None else until if until is not None else "", + deprecated=member.deprecated if member.deprecated is not None else deprecated if deprecated is not None else u"false", + removed=member.removed if member.removed is not None else removed if removed is not None else u"false") + else: + return self._impl_code_item_fill_template.substitute( + name=member.name, + var_name=self._gen_schema_item_var_name(member), + is_mandatory=u"true" if member.is_mandatory is True else u"false") - return self._impl_code_item_fill_template.substitute( - name=member.name, - var_name=self._gen_schema_item_var_name(member), - is_mandatory=u"true" if member.is_mandatory is True else u"false") + def _gen_history_vector_item_fill(self, member, vector_name): + """Generate schema item fill code. + + Generates source code that fills history vector with item. + + Keyword arguments: + member -- struct member/function parameter to process. + + Returns: + String with schema item fill code. + + """ + + if (member.since is not None or + member.until is not None or + member.deprecated is not None or + member.removed is not None): + return self._impl_code_append_history_vector_template.substitute( + vector_name=vector_name, + name=member.name, + mandatory=u"true" if member.is_mandatory is True else u"false", + since=member.since if member.since is not None else "", + until=member.until if member.until is not None else "", + deprecated=member.deprecated if member.deprecated is not None else u"false", + removed=member.removed if member.removed is not None else u"false") + else: + print "Warning! History item does not have any version history. Omitting %s" % member.name @staticmethod def _gen_schema_item_var_name(member): @@ -899,7 +1104,7 @@ class CodeGenerator(object): schema_items_decl=self._gen_schema_items_decls( function.params.values()), schema_item_fill=self._gen_schema_items_fill( - function.params.values()), + function.params.values(), function.since, function.until, function.deprecated, function.removed), schema_params_fill=self._gen_schema_params_fill( function.message_type.name)), 1)) @@ -1283,7 +1488,6 @@ class CodeGenerator(object): u'''#include "formatters/CSmartFactory.h"\n''' u'''#include "smart_objects/smart_schema.h"\n''' u'''#include "smart_objects/schema_item.h"\n''' - u'''#include "utils/shared_ptr.h"\n''' u'''#include "$header_file_name"\n''' u'''\n''' u'''$namespace_open''' @@ -1368,10 +1572,10 @@ class CodeGenerator(object): u'''#include "smart_objects/number_schema_item.h"\n''' u'''#include "smart_objects/schema_item_parameter.h"\n''' u'''\n''' - u'''using namespace NsSmartDeviceLink::NsSmartObjects;\n''' + u'''using namespace ns_smart_device_link::ns_smart_objects;\n''' u'''\n''' u'''$namespace::$class_name::$class_name()\n''' - u''' : NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID::eType, ''' + u''' : ns_smart_device_link::ns_json_handler::CSmartFactory<FunctionID::eType, ''' u'''messageType::eType, StructIdentifiers::eType>() {\n''' u''' TStructsSchemaItems struct_schema_items;\n''' u''' InitStructSchemes(struct_schema_items);\n''' @@ -1386,7 +1590,7 @@ class CodeGenerator(object): u'''message_type_items);\n''' u'''}\n''' u'''\n''' - u'''utils::SharedPtr<ISchemaItem> $namespace::$class_name::''' + u'''std::shared_ptr<ISchemaItem> $namespace::$class_name::''' u'''ProvideObjectSchemaItemForStruct(\n''' u''' const TStructsSchemaItems &struct_schema_items,\n''' u''' const StructIdentifiers::eType struct_id) {\n''' @@ -1396,7 +1600,7 @@ class CodeGenerator(object): u''' return it->second;\n''' u''' }\n''' u'''\n''' - u''' return NsSmartDeviceLink::NsSmartObjects::''' + u''' return ns_smart_device_link::ns_smart_objects::''' u'''CAlwaysFalseSchemaItem::create();\n''' u'''}\n''' u'''\n''' @@ -1423,13 +1627,13 @@ class CodeGenerator(object): u'''\n''' u'''//-------------- String to value enum mapping ----------------\n''' u'''\n''' - u'''namespace NsSmartDeviceLink {\n''' - u'''namespace NsSmartObjects {\n''' + u'''namespace ns_smart_device_link {\n''' + u'''namespace ns_smart_objects {\n''' u'''\n''' u'''$enum_string_coversions''' u'''\n''' - u'''} // NsSmartObjects\n''' - u'''} // NsSmartDeviceLink\n''' + u'''} // ns_smart_objects\n''' + u'''} // ns_smart_device_link\n''' u'''\n''') _enum_to_str_converter_template = string.Template( @@ -1465,7 +1669,7 @@ class CodeGenerator(object): u'''\n''') _struct_schema_item_template = string.Template( - u'''utils::SharedPtr<ISchemaItem> struct_schema_item_${name} = ''' + u'''std::shared_ptr<ISchemaItem> struct_schema_item_${name} = ''' u'''InitStructSchemaItem_${name}(struct_schema_items);\n''' u'''struct_schema_items.insert(std::make_pair(''' u'''StructIdentifiers::${name}, struct_schema_item_${name}));\n''' @@ -1474,15 +1678,15 @@ class CodeGenerator(object): u'''struct_schema_item_${name})));''') _function_schema_template = string.Template( - u'''functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::''' - u'''NsJSONHandler::''' + u'''functions_schemes_.insert(std::make_pair(ns_smart_device_link::''' + u'''ns_json_handler::''' u'''SmartSchemaKey<FunctionID::eType, messageType::eType>''' u'''(FunctionID::$function_id, messageType::$message_type), ''' u'''InitFunction_${function_id}_${message_type}(''' u'''struct_schema_items, function_id_items, message_type_items)));''') _struct_impl_template = string.Template( - u'''utils::SharedPtr<ISchemaItem> $namespace::$class_name::''' + u'''std::shared_ptr<ISchemaItem> $namespace::$class_name::''' u'''InitStructSchemaItem_${struct_name}(\n''' u''' const TStructsSchemaItems &struct_schema_items) {\n''' u'''$code''' @@ -1499,12 +1703,31 @@ class CodeGenerator(object): _impl_code_loc_decl_enum_template = string.Template( u'''std::set<${type}::eType> ${var_name};''') + _impl_code_loc_decl_enum_history_set_template = string.Template( + u'''std::map<${type}::eType, std::vector<ElementSignature>> ${type}_element_signatures;''') + _impl_code_loc_decl_enum_insert_template = string.Template( u'''${var_name}.insert(${enum}::${value});''') + _impl_code_loc_decl_enum_history_set_value_init_template = string.Template( + u'''${enum}_element_signatures[${enum}::${value}] = std::vector<ElementSignature>();''' + ) + + _impl_code_loc_decl_enum_history_set_insert_template = string.Template( + u'''${enum}_element_signatures[${enum}::${value}].push_back(ElementSignature("${since}", "${until}", ${removed}));''') + + _impl_gen_schema_enum_history_map_template = string.Template( + u'''${name}_element_signatures''') + _impl_code_item_decl_temlate = string.Template( u'''${comment}''' - u'''utils::SharedPtr<ISchemaItem> ${var_name} = ${item_decl};''') + u'''std::shared_ptr<ISchemaItem> ${var_name} = ${item_decl};''') + + _impl_code_shared_ptr_vector_template = string.Template( + u'''std::vector<CObjectSchemaItem::SMember> ${var_name}_history_vector;''') + + _impl_code_append_history_vector_template = string.Template( + u'''${vector_name}_history_vector.push_back(CObjectSchemaItem::SMember(${name}_SchemaItem, ${mandatory}, "${since}", "${until}", ${deprecated}, ${removed}));''') _impl_code_integer_item_template = string.Template( u'''TNumberSchemaItem<${type}>::create(${params})''') @@ -1525,6 +1748,9 @@ class CodeGenerator(object): _impl_code_enum_item_template = string.Template( u'''TEnumSchemaItem<${type}::eType>::create(${params})''') + _impl_code_enum_item_with_history_template = string.Template( + u'''TEnumSchemaItem<${type}::eType>::createWithSignatures(${params})''') + _impl_code_item_param_value_template = string.Template( u'''TSchemaItemParameter<$type>($value)''') @@ -1532,6 +1758,14 @@ class CodeGenerator(object): u'''schema_members["${name}"] = CObjectSchemaItem::''' u'''SMember(${var_name}, ${is_mandatory});''') + _impl_code_item_fill_template_with_version = string.Template( + u'''schema_members["${name}"] = CObjectSchemaItem::''' + u'''SMember(${var_name}, ${is_mandatory}, "${since}", "${until}", ${deprecated}, ${removed});''') + + _impl_code_item_fill_template_with_version_and_history_vector = string.Template( + u'''schema_members["${name}"] = CObjectSchemaItem::''' + u'''SMember(${var_name}, ${is_mandatory}, "${since}", "${until}", ${deprecated}, ${removed}, ${vector_name}_history_vector);''') + _function_impl_template = string.Template( u'''CSmartSchema $namespace::$class_name::''' u'''InitFunction_${function_id}_${message_type}(\n''' @@ -1553,11 +1787,11 @@ class CodeGenerator(object): u'''\n''' u'''CObjectSchemaItem::Members ''' u'''root_members_map;\n''' - u'''root_members_map[NsSmartDeviceLink::NsJSONHandler::''' + u'''root_members_map[ns_smart_device_link::ns_json_handler::''' u'''strings::S_MSG_PARAMS] = ''' u'''CObjectSchemaItem::SMember(CObjectSchemaItem::''' u'''create(schema_members), true);\n''' - u'''root_members_map[NsSmartDeviceLink::NsJSONHandler::''' + u'''root_members_map[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PARAMS] = ''' u'''CObjectSchemaItem::SMember(CObjectSchemaItem::''' u'''create(params_members), true);\n\n''' @@ -1566,7 +1800,7 @@ class CodeGenerator(object): _class_h_template = string.Template( u'''$comment\n''' - u'''class $class_name : public NsSmartDeviceLink::NsJSONHandler::''' + u'''class $class_name : public ns_smart_device_link::ns_json_handler::''' u'''CSmartFactory<FunctionID::eType, messageType::eType, ''' u'''StructIdentifiers::eType> {\n''' u''' public:\n''' @@ -1580,7 +1814,7 @@ class CodeGenerator(object): u''' * @brief Type that maps of struct IDs to schema items.\n''' u''' */\n''' u''' typedef std::map<const StructIdentifiers::eType, ''' - u'''utils::SharedPtr<NsSmartDeviceLink::NsSmartObjects::''' + u'''std::shared_ptr<ns_smart_device_link::ns_smart_objects::''' u'''ISchemaItem> > TStructsSchemaItems;\n''' u'''\n''' u''' /**\n''' @@ -1589,10 +1823,10 @@ class CodeGenerator(object): u''' * @param struct_schema_items Struct schema items.\n''' u''' * @param struct_id ID of structure to provide.\n''' u''' *\n''' - u''' * @return utils::SharedPtr of strucute\n''' + u''' * @return std::shared_ptr of strucute\n''' u''' */\n''' u''' static ''' - u'''utils::SharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> ''' + u'''std::shared_ptr<ns_smart_device_link::ns_smart_objects::ISchemaItem> ''' u'''ProvideObjectSchemaItemForStruct(\n''' u''' const TStructsSchemaItems &struct_schema_items,\n''' u''' const StructIdentifiers::eType struct_id);\n''' @@ -1623,12 +1857,12 @@ class CodeGenerator(object): u'''$init_struct_decls''' u'''};''') - _function_return_comment = u''' * @return NsSmartDeviceLink::''' \ - u'''NsSmartObjects::CSmartSchema\n''' + _function_return_comment = u''' * @return ns_smart_device_link::''' \ + u'''ns_smart_objects::CSmartSchema\n''' _function_decl_template = string.Template( u'''$comment\n''' - u'''static NsSmartDeviceLink::NsSmartObjects::CSmartSchema ''' + u'''static ns_smart_device_link::ns_smart_objects::CSmartSchema ''' u'''InitFunction_${function_id}_${message_type}(\n''' u''' const TStructsSchemaItems &struct_schema_items,\n''' u''' const std::set<FunctionID::eType> &function_id_items,\n''' @@ -1637,7 +1871,7 @@ class CodeGenerator(object): _struct_decl_template = string.Template( u'''$comment\n''' u'''static ''' - u'''utils::SharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> ''' + u'''std::shared_ptr<ns_smart_device_link::ns_smart_objects::ISchemaItem> ''' u'''InitStructSchemaItem_${struct_name}(\n''' u''' const TStructsSchemaItems &struct_schema_items);''') diff --git a/tools/InterfaceGenerator/generator/generators/SmartFactoryJSONRPC.py b/tools/InterfaceGenerator/generator/generators/SmartFactoryJSONRPC.py index cf9887d39d..6924ec67aa 100755 --- a/tools/InterfaceGenerator/generator/generators/SmartFactoryJSONRPC.py +++ b/tools/InterfaceGenerator/generator/generators/SmartFactoryJSONRPC.py @@ -94,7 +94,7 @@ class CodeGenerator(SmartFactoryBase.CodeGenerator): _error_response_insert_template = string.Template( u'''functions_schemes_.insert(std::make_pair(''' - u'''NsSmartDeviceLink::NsJSONHandler::''' + u'''ns_smart_device_link::ns_json_handler::''' u'''SmartSchemaKey<FunctionID::eType, messageType::eType>(''' u'''FunctionID::${function_id}, messageType::error_response), ''' u'''error_response_schema));\n''') @@ -102,32 +102,32 @@ class CodeGenerator(SmartFactoryBase.CodeGenerator): _error_response_schema_template = ( u'''CObjectSchemaItem::Members ''' u'''params_members;\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(''' u'''TEnumSchemaItem<FunctionID::eType>::create(''' u'''function_id_items), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(''' u'''TEnumSchemaItem<messageType::eType>::create(''' u'''message_type_items), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(''' u'''TNumberSchemaItem<int>::create(), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(''' u'''TNumberSchemaItem<int>::create(), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(''' u'''TNumberSchemaItem<int>::create(), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::kCode] = CObjectSchemaItem::SMember(''' u'''TNumberSchemaItem<int>::create(), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::kMessage] = CObjectSchemaItem::SMember(''' u'''CStringSchemaItem::create(), true);\n''' u'''\n''' u'''CObjectSchemaItem::Members root_members_map;\n''' - u'''root_members_map[NsSmartDeviceLink::NsJSONHandler::''' + u'''root_members_map[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PARAMS] = CObjectSchemaItem::SMember(''' u'''CObjectSchemaItem::create(params_members), true);\n''' u'''\n''' @@ -136,30 +136,30 @@ class CodeGenerator(SmartFactoryBase.CodeGenerator): u'''\n''') _base_params = ( - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_FUNCTION_ID] = CObjectSchemaItem::''' u'''SMember(TEnumSchemaItem<FunctionID::eType>::''' u'''create(function_id_items), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_MESSAGE_TYPE] = CObjectSchemaItem::''' u'''SMember(TEnumSchemaItem<messageType::eType>::''' u'''create(message_type_items), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::''' u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::''' u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' ) _correlation_id_param = ( - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::S_CORRELATION_ID] = CObjectSchemaItem::''' u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' ) _additional_response_params = ( - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' + u'''params_members[ns_smart_device_link::ns_json_handler::''' u'''strings::kCode] = CObjectSchemaItem::''' u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' ) diff --git a/tools/InterfaceGenerator/generator/generators/SmartFactorySDLRPC.py b/tools/InterfaceGenerator/generator/generators/SmartFactorySDLRPC.py index b3fb61f4a9..c3244f7e95 100755 --- a/tools/InterfaceGenerator/generator/generators/SmartFactorySDLRPC.py +++ b/tools/InterfaceGenerator/generator/generators/SmartFactorySDLRPC.py @@ -67,23 +67,23 @@ class CodeGenerator(SmartFactoryBase.CodeGenerator): """ base_params = \ - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' \ + u'''params_members[ns_smart_device_link::ns_json_handler::''' \ u'''strings::S_FUNCTION_ID] = CObjectSchemaItem::''' \ u'''SMember(TEnumSchemaItem<FunctionID::eType>::''' \ u'''create(function_id_items), true);\n''' \ - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' \ + u'''params_members[ns_smart_device_link::ns_json_handler::''' \ u'''strings::S_MESSAGE_TYPE] = CObjectSchemaItem::''' \ u'''SMember(TEnumSchemaItem<messageType::eType>::''' \ u'''create(message_type_items), true);\n''' \ - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' \ + u'''params_members[ns_smart_device_link::ns_json_handler::''' \ u'''strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::''' \ u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' \ - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' \ + u'''params_members[ns_smart_device_link::ns_json_handler::''' \ u'''strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::''' \ u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' correlation_id_param = \ - u'''params_members[NsSmartDeviceLink::NsJSONHandler::''' \ + u'''params_members[ns_smart_device_link::ns_json_handler::''' \ u'''strings::S_CORRELATION_ID] = CObjectSchemaItem::''' \ u'''SMember(TNumberSchemaItem<int>::create(), true);\n''' diff --git a/tools/InterfaceGenerator/generator/parsers/RPCBase.py b/tools/InterfaceGenerator/generator/parsers/RPCBase.py index 4853916dad..21f07e6ac5 100755 --- a/tools/InterfaceGenerator/generator/parsers/RPCBase.py +++ b/tools/InterfaceGenerator/generator/parsers/RPCBase.py @@ -6,7 +6,7 @@ Contains base parser for SDLRPC v1/v2 and JSON RPC XML format. import collections import xml.etree.ElementTree - +import re from generator import Model @@ -203,16 +203,35 @@ class Parser(object): internal_scope = None scope = None + since = None + until = None + deprecated = None + removed = None + result = None for attribute in attributes: if attribute == "internal_scope": internal_scope = attributes[attribute] elif attribute == "scope": scope = attributes[attribute] + elif attribute == "since": + result = self._parse_version(attributes[attribute]) + since = result + elif attribute == "until": + result = self._parse_version(attributes[attribute]) + until = result + elif attribute == "deprecated": + deprecated = attributes[attribute] + elif attribute == "removed": + removed = attributes[attribute] else: raise ParseError("Unexpected attribute '" + attribute + "' in enum '" + params["name"] + "'") params["internal_scope"] = internal_scope params["scope"] = scope + params["since"] = since + params["until"] = until + params["deprecated"] = deprecated + params["removed"] = removed elements = collections.OrderedDict() for subelement in subelements: @@ -236,13 +255,32 @@ class Parser(object): params, subelements, attrib = self._parse_base_item(element, prefix) scope = None + since = None + until = None + deprecated = None + removed = None + result = None for attribute in attrib: if attribute == "scope": scope = attrib[attribute] + elif attribute == "since": + result = self._parse_version(attrib[attribute]) + since = result + elif attribute == "until": + result = self._parse_version(attrib[attribute]) + until = result + elif attribute == "deprecated": + deprecated = attributes[attribute] + elif attribute == "removed": + removed = attrib[attribute] else: raise ParseError("Unexpected attribute '" + attribute + "' in struct '" + params["name"] + "'") params["scope"] = scope + params["since"] = since + params["until"] = until + params["deprecated"] = deprecated + params["removed"] = removed members = collections.OrderedDict() for subelement in subelements: @@ -271,13 +309,32 @@ class Parser(object): attributes) scope = None + since = None + until = None + deprecated = None + removed = None + result = None for attribute in attributes: if attribute == "scope": scope = attributes[attribute] + elif attribute == "since": + result = self._parse_version(attributes[attribute]) + since = result + elif attribute == "until": + result = self._parse_version(attributes[attribute]) + until = result + elif attribute == "deprecated": + deprecated = attributes[attribute] + elif attribute == "removed": + removed = attributes[attribute] params["function_id"] = function_id params["message_type"] = message_type params["scope"] = scope + params["since"] = since + params["until"] = until + params["deprecated"] = deprecated + params["removed"] = removed function_params = collections.OrderedDict() for subelement in subelements: @@ -359,6 +416,8 @@ class Parser(object): issues = [] todos = [] subelements = [] + history = None + warnings = [] if "name" not in element.attrib: raise ParseError("Name is not specified for " + element.tag) @@ -379,6 +438,12 @@ class Parser(object): todos.append(self._parse_simple_element(subelement)) elif subelement.tag == "issue": issues.append(self._parse_issue(subelement)) + elif subelement.tag == "history": + if history is not None: + raise ParseError("Elements can only have one history tag: " + element.tag) + history = self._parse_history(subelement, prefix, element) + elif subelement.tag == "warning": + warnings.append(self._parse_simple_element(subelement)) else: subelements.append(subelement) @@ -386,6 +451,7 @@ class Parser(object): params["design_description"] = design_description params["issues"] = issues params["todos"] = todos + params["history"] = history return params, subelements, attrib @@ -443,6 +509,11 @@ class Parser(object): internal_name = None value = None + since = None + until = None + deprecated = None + removed = None + result = None for attribute in attributes: if attribute == "internal_name": internal_name = attributes[attribute] @@ -452,9 +523,22 @@ class Parser(object): except: raise ParseError("Invalid value for enum element: '" + attributes[attribute] + "'") + elif attribute == "since": + result = self._parse_version(attributes[attribute]) + since = result + elif attribute == "until": + result = self._parse_version(attributes[attribute]) + until = result + elif attribute == "deprecated": + deprecated = attributes[attribute] + elif attribute == "removed": + removed = attributes[attribute] params["internal_name"] = internal_name params["value"] = value - + params["since"] = since + params["until"] = until + params["deprecated"] = deprecated + params["removed"] = removed # Magic usage is correct # pylint: disable=W0142 return Model.EnumElement(**params) @@ -548,6 +632,25 @@ class Parser(object): """ params, subelements, attrib = self._parse_base_item(element, "") + since_version = self._extract_attrib(attrib, "since") + if since_version is not None: + result = self._parse_version(since_version) + params["since"] = result + + until_version = self._extract_attrib(attrib, "until") + if until_version is not None: + result = self._parse_version(until_version) + params["until"] = result + + deprecated = self._extract_attrib(attrib, "deprecated") + if deprecated is not None: + params["deprecated"] = deprecated + + removed = self._extract_attrib(attrib, "removed") + if removed is not None: + params["removed"] = removed + + is_mandatory = self._extract_attrib(attrib, "mandatory") if is_mandatory is None: raise ParseError("'mandatory' is not specified for parameter '" + @@ -765,3 +868,48 @@ class Parser(object): print ("Ignoring attribute '" + name + "'") return True + + def _parse_version(self, version): + """ + Validates if a version supplied is in the correct + format of Major.Minor.Patch. If Major.Minor format + is supplied, a patch version of 0 will be added to + the end. + """ + p = re.compile('\d+\\.\d+\\.\d+|\d+\\.\d+') + result = p.match(version) + if result == None or (result.end() != len(version)): + raise RPCBase.ParseError("Incorrect format of version please check MOBILE_API.xml. " + "Need format of major_version.minor_version or major_version.minor_version.patch_version") + + version_array = version.split(".") + if (len(version_array) == 2): + version_array.append("0") + dot_str = "." + return dot_str.join(version_array) + + def _parse_history(self, history, prefix, parent): + if history.tag != "history": + raise ParseError("Invalid history tag: " + interface.tag) + + items = [] + + for subelement in history: + if subelement.tag == "enum" and parent.tag == "enum": + items.append(self._parse_enum(subelement, prefix)) + elif subelement.tag == "element" and parent.tag == "element": + items.append(self._parse_enum_element(subelement)) + elif subelement.tag == "description" and parent.tag == "description": + items.append(self._parse_simple_element(subelement)) + elif subelement.tag == "struct" and parent.tag == "struct": + items.append(self._parse_struct(subelement, prefix)) + elif subelement.tag == "param" and parent.tag == "param": + items.append(self._parse_function_param(subelement, prefix)) + elif subelement.tag == "function" and parent.tag == "function": + items.append(self.__parse_function(subelement, prefix)) + else: + raise ParseError("A history tag must be nested within the element it notes the history for. Fix item: '" + + parent.attrib["name"] + "'") + + return items + diff --git a/tools/InterfaceGenerator/test/generator/generators/test_SmartFactoryJSONRPC.py b/tools/InterfaceGenerator/test/generator/generators/test_SmartFactoryJSONRPC.py index b21e320038..c4813d00a8 100755 --- a/tools/InterfaceGenerator/test/generator/generators/test_SmartFactoryJSONRPC.py +++ b/tools/InterfaceGenerator/test/generator/generators/test_SmartFactoryJSONRPC.py @@ -17,61 +17,61 @@ from generator import Model EXPECTED_RESULT_REQUEST = ( - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<FunctionID::eType>::create(""" u"""function_id_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<messageType::eType>::create(""" u"""message_type_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" ) EXPECTED_RESULT_RESPONSE = ( - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<FunctionID::eType>::create(""" u"""function_id_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<messageType::eType>::create(""" u"""message_type_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::kCode] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" ) EXPECTED_RESULT_NOTIFICATION = ( - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<FunctionID::eType>::create(""" u"""function_id_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<messageType::eType>::create(""" u"""message_type_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" ) @@ -79,33 +79,33 @@ EXPECTED_RESULT_NOTIFICATION = ( EXPECTED_PRE_FUNCTION_CODE = ( u""" std::map<std::string, CObjectSchemaItem::SMember> """ u"""params_members;\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<FunctionID::eType>::create(""" u"""function_id_items), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<messageType::eType>::create(""" u"""message_type_items), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler""" + u""" params_members[ns_smart_device_link::ns_json_handler""" u"""::strings::kCode] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u""" params_members[NsSmartDeviceLink::NsJSONHandler::""" + u""" params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::kMessage] = CObjectSchemaItem::SMember(""" u"""CStringSchemaItem::create(), true);\n""" u"""\n""" u""" std::map<std::string, CObjectSchemaItem::SMember> """ u"""root_members_map;\n""" - u""" root_members_map[NsSmartDeviceLink::NsJSONHandler::""" + u""" root_members_map[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PARAMS] = CObjectSchemaItem::SMember(""" u"""CObjectSchemaItem::create(params_members), true);\n""" u"""\n""" @@ -113,7 +113,7 @@ EXPECTED_PRE_FUNCTION_CODE = ( u"""root_members_map));\n""" u"""\n""" u""" functions_schemes_.insert(std::make_pair(""" - u"""NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<""" + u"""ns_smart_device_link::ns_json_handler::SmartSchemaKey<""" u"""FunctionID::eType, messageType::eType>(""" u"""FunctionID::request, messageType::error_response)""" u""", error_response_schema));\n""" diff --git a/tools/InterfaceGenerator/test/generator/generators/test_SmartFactorySDLRPC.py b/tools/InterfaceGenerator/test/generator/generators/test_SmartFactorySDLRPC.py index 111ffb3cbc..35e4aeb6ce 100755 --- a/tools/InterfaceGenerator/test/generator/generators/test_SmartFactorySDLRPC.py +++ b/tools/InterfaceGenerator/test/generator/generators/test_SmartFactorySDLRPC.py @@ -17,23 +17,23 @@ from generator import Model EXPECTED_NOTIFICATION_RESULT = ( - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<FunctionID::eType>::create(""" u"""function_id_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(""" u"""TEnumSchemaItem<messageType::eType>::create(""" u"""message_type_items), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""" - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""") EXPECTED_REQ_RESP_RESULT = "".join([EXPECTED_NOTIFICATION_RESULT, ( - u"""params_members[NsSmartDeviceLink::NsJSONHandler::""" + u"""params_members[ns_smart_device_link::ns_json_handler::""" u"""strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(""" u"""TNumberSchemaItem<int>::create(), true);\n""")]) diff --git a/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.cc b/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.cc index 458c27543b..49369d2559 100644 --- a/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.cc +++ b/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.cc @@ -50,7 +50,7 @@ #include "SmartObjects/TNumberSchemaItem.hpp" #include "SmartObjects/TSchemaItemParameter.hpp" -using namespace NsSmartDeviceLink::NsSmartObjects; +using namespace ns_smart_device_link::ns_smart_objects; XXX::YYY::ZZZ::Test::Test() : CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType>() { @@ -77,7 +77,7 @@ TSharedPtr<ISchemaItem> XXX::YYY::ZZZ::Test::ProvideObjectSchemaItemForStruct( return it->second; } - return NsSmartDeviceLink::NsSmartObjects::CAlwaysFalseSchemaItem::create(); + return ns_smart_device_link::ns_smart_objects::CAlwaysFalseSchemaItem::create(); } void XXX::YYY::ZZZ::Test::InitStructSchemes( @@ -96,24 +96,24 @@ void XXX::YYY::ZZZ::Test::InitFunctionSchemes( const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items) { std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::kCode] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::kMessage] = CObjectSchemaItem::SMember(CStringSchemaItem::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::kCode] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::kMessage] = CObjectSchemaItem::SMember(CStringSchemaItem::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); CSmartSchema error_response_schema(CObjectSchemaItem::create(root_members_map)); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::error_response), error_response_schema)); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::error_response), error_response_schema)); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::name1, messageType::request), InitFunction_name1_request(struct_schema_items, function_id_items, message_type_items))); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::response), InitFunction_val_1_response(struct_schema_items, function_id_items, message_type_items))); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_2, messageType::notification), InitFunction_val_2_notification(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::name1, messageType::request), InitFunction_name1_request(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::response), InitFunction_val_1_response(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_2, messageType::notification), InitFunction_val_2_notification(struct_schema_items, function_id_items, message_type_items))); } //------------- Functions schemes initialization ------------- @@ -153,15 +153,15 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_name1_request( schema_members["param2"] = CObjectSchemaItem::SMember(param2_SchemaItem, true); std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -173,16 +173,16 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_val_1_response( std::map<std::string, CObjectSchemaItem::SMember> schema_members; std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::kCode] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::kCode] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -194,14 +194,14 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_val_2_notification( std::map<std::string, CObjectSchemaItem::SMember> schema_members; std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -298,8 +298,8 @@ TSharedPtr<ISchemaItem> XXX::YYY::ZZZ::Test::InitStructSchemaItem_Struct2( //-------------- String to value enum mapping ---------------- -namespace NsSmartDeviceLink { -namespace NsSmartObjects { +namespace ns_smart_device_link { +namespace ns_smart_objects { template <> const std::map<XXX::YYY::ZZZ::Enum1::eType, std::string> &TEnumSchemaItem<XXX::YYY::ZZZ::Enum1::eType>::getEnumElementsStringRepresentation() { @@ -380,6 +380,6 @@ const std::map<XXX::YYY::ZZZ::messageType::eType, std::string> &TEnumSchemaItem< return enum_string_representation; } -} // NsSmartObjects -} // NsSmartDeviceLink +} // ns_smart_objects +} // ns_smart_device_link diff --git a/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.h b/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.h index b265603480..d7310e4d0f 100644 --- a/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.h +++ b/tools/InterfaceGenerator/test/generator/generators/test_expected_jsonrpc.h @@ -223,7 +223,7 @@ enum eType { * param2 - value2 * param1 - value1 */ -class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType> { +class Test : public ns_smart_device_link::ns_json_handler::CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType> { public: /** * @brief Constructor. @@ -234,7 +234,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Type that maps of struct IDs to schema items. */ - typedef std::map<const StructIdentifiers::eType, NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> > TStructsSchemaItems; + typedef std::map<const StructIdentifiers::eType, ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> > TStructsSchemaItems; /** * @brief Helper that allows to make reference to struct @@ -244,7 +244,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * * @return TSharedPtr of strucute */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> ProvideObjectSchemaItemForStruct( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> ProvideObjectSchemaItemForStruct( const TStructsSchemaItems &struct_schema_items, const StructIdentifiers::eType struct_id); @@ -268,9 +268,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function1. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_name1_request( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_name1_request( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -278,9 +278,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function2. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_val_1_response( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_val_1_response( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -288,9 +288,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function2. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_val_2_notification( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_val_2_notification( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -304,7 +304,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * @note Issue2 * @note Issue3 */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> InitStructSchemaItem_Struct1( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> InitStructSchemaItem_Struct1( const TStructsSchemaItems &struct_schema_items); /** @@ -314,7 +314,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * @note Issue2 * @note Issue3 */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> InitStructSchemaItem_Struct2( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> InitStructSchemaItem_Struct2( const TStructsSchemaItems &struct_schema_items); }; diff --git a/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.cc b/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.cc index 53e5b7f78a..a62f485eb9 100644 --- a/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.cc +++ b/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.cc @@ -50,7 +50,7 @@ #include "SmartObjects/TNumberSchemaItem.hpp" #include "SmartObjects/TSchemaItemParameter.hpp" -using namespace NsSmartDeviceLink::NsSmartObjects; +using namespace ns_smart_device_link::ns_smart_objects; XXX::YYY::ZZZ::Test::Test() : CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType>() { @@ -76,7 +76,7 @@ TSharedPtr<ISchemaItem> XXX::YYY::ZZZ::Test::ProvideObjectSchemaItemForStruct( return it->second; } - return NsSmartDeviceLink::NsSmartObjects::CAlwaysFalseSchemaItem::create(); + return ns_smart_device_link::ns_smart_objects::CAlwaysFalseSchemaItem::create(); } void XXX::YYY::ZZZ::Test::InitStructSchemes( @@ -94,9 +94,9 @@ void XXX::YYY::ZZZ::Test::InitFunctionSchemes( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items) { - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::name1, messageType::request), InitFunction_name1_request(struct_schema_items, function_id_items, message_type_items))); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::response), InitFunction_val_1_response(struct_schema_items, function_id_items, message_type_items))); - functions_schemes_.insert(std::make_pair(NsSmartDeviceLink::NsJSONHandler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_2, messageType::notification), InitFunction_val_2_notification(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::name1, messageType::request), InitFunction_name1_request(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_1, messageType::response), InitFunction_val_1_response(struct_schema_items, function_id_items, message_type_items))); + functions_schemes_.insert(std::make_pair(ns_smart_device_link::ns_json_handler::SmartSchemaKey<FunctionID::eType, messageType::eType>(FunctionID::val_2, messageType::notification), InitFunction_val_2_notification(struct_schema_items, function_id_items, message_type_items))); } //------------- Functions schemes initialization ------------- @@ -136,15 +136,15 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_name1_request( schema_members["param2"] = CObjectSchemaItem::SMember(param2_SchemaItem, true); std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -156,15 +156,15 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_val_1_response( std::map<std::string, CObjectSchemaItem::SMember> schema_members; std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_CORRELATION_ID] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -176,14 +176,14 @@ CSmartSchema XXX::YYY::ZZZ::Test::InitFunction_val_2_notification( std::map<std::string, CObjectSchemaItem::SMember> schema_members; std::map<std::string, CObjectSchemaItem::SMember> params_members; - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); - params_members[NsSmartDeviceLink::NsJSONHandler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_FUNCTION_ID] = CObjectSchemaItem::SMember(TEnumSchemaItem<FunctionID::eType>::create(function_id_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_MESSAGE_TYPE] = CObjectSchemaItem::SMember(TEnumSchemaItem<messageType::eType>::create(message_type_items), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_VERSION] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); + params_members[ns_smart_device_link::ns_json_handler::strings::S_PROTOCOL_TYPE] = CObjectSchemaItem::SMember(TNumberSchemaItem<int>::create(), true); std::map<std::string, CObjectSchemaItem::SMember> root_members_map; - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); - root_members_map[NsSmartDeviceLink::NsJSONHandler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_MSG_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(schema_members), true); + root_members_map[ns_smart_device_link::ns_json_handler::strings::S_PARAMS] = CObjectSchemaItem::SMember(CObjectSchemaItem::create(params_members), true); return CSmartSchema(CObjectSchemaItem::create(root_members_map)); } @@ -280,8 +280,8 @@ TSharedPtr<ISchemaItem> XXX::YYY::ZZZ::Test::InitStructSchemaItem_Struct2( //-------------- String to value enum mapping ---------------- -namespace NsSmartDeviceLink { -namespace NsSmartObjects { +namespace ns_smart_device_link { +namespace ns_smart_objects { template <> const std::map<XXX::YYY::ZZZ::Enum1::eType, std::string> &TEnumSchemaItem<XXX::YYY::ZZZ::Enum1::eType>::getEnumElementsStringRepresentation() { @@ -361,6 +361,6 @@ const std::map<XXX::YYY::ZZZ::messageType::eType, std::string> &TEnumSchemaItem< return enum_string_representation; } -} // NsSmartObjects -} // NsSmartDeviceLink +} // ns_smart_objects +} // ns_smart_device_link diff --git a/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.h b/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.h index 826ea55ce1..cf22f0711f 100644 --- a/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.h +++ b/tools/InterfaceGenerator/test/generator/generators/test_expected_sdlrpc.h @@ -218,7 +218,7 @@ enum eType { * param2 - value2 * param1 - value1 */ -class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType> { +class Test : public ns_smart_device_link::ns_json_handler::CSmartFactory<FunctionID::eType, messageType::eType, StructIdentifiers::eType> { public: /** * @brief Constructor. @@ -229,7 +229,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Type that maps of struct IDs to schema items. */ - typedef std::map<const StructIdentifiers::eType, NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> > TStructsSchemaItems; + typedef std::map<const StructIdentifiers::eType, ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> > TStructsSchemaItems; /** * @brief Helper that allows to make reference to struct @@ -239,7 +239,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * * @return TSharedPtr of strucute */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> ProvideObjectSchemaItemForStruct( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> ProvideObjectSchemaItemForStruct( const TStructsSchemaItems &struct_schema_items, const StructIdentifiers::eType struct_id); @@ -263,9 +263,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function1. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_name1_request( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_name1_request( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -273,9 +273,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function2. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_val_1_response( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_val_1_response( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -283,9 +283,9 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: /** * @brief Method that generates schema for function Function2. * - * @return NsSmartDeviceLink::NsSmartObjects::CSmartSchema + * @return ns_smart_device_link::ns_smart_objects::CSmartSchema */ - static NsSmartDeviceLink::NsSmartObjects::CSmartSchema InitFunction_val_2_notification( + static ns_smart_device_link::ns_smart_objects::CSmartSchema InitFunction_val_2_notification( const TStructsSchemaItems &struct_schema_items, const std::set<FunctionID::eType> &function_id_items, const std::set<messageType::eType> &message_type_items); @@ -299,7 +299,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * @note Issue2 * @note Issue3 */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> InitStructSchemaItem_Struct1( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> InitStructSchemaItem_Struct1( const TStructsSchemaItems &struct_schema_items); /** @@ -309,7 +309,7 @@ class Test : public NsSmartDeviceLink::NsJSONHandler::CSmartFactory<FunctionID:: * @note Issue2 * @note Issue3 */ - static NsSmartDeviceLink::NsSmartObjects::TSharedPtr<NsSmartDeviceLink::NsSmartObjects::ISchemaItem> InitStructSchemaItem_Struct2( + static ns_smart_device_link::ns_smart_objects::TSharedPtr<ns_smart_device_link::ns_smart_objects::ISchemaItem> InitStructSchemaItem_Struct2( const TStructsSchemaItems &struct_schema_items); }; |