parameters: (the_parsed_component_xml, xml_filename, opt)
return_statement: return component_model
docstring: Creates a component meta-model and generates the
      component files.  Nothing is returned.
docstring_summary: Creates a component meta-model and generates the
      component files.  Nothing is returned.
docstring_tokens: Creates a component meta - model and generates the component files . Nothing is returned .
function: def parse_component(the_parsed_component_xml, xml_filename, opt):
      """
      Creates a component meta-model and generates the
      component files.  Nothing is returned.
      """
      global BUILD_ROOT
      #
  
      parsed_port_xml_list = []
  
      #
      # Configure the meta-model for the component
      #
      port_type_files_list = the_parsed_component_xml.get_port_type_files()
  
      for port_file in port_type_files_list:
          port_file = search_for_file("Port", port_file)
          xml_parser_obj = XmlPortsParser.XmlPortsParser(port_file)
          parsed_port_xml_list.append(xml_parser_obj)
          del xml_parser_obj
  
      parsed_serializable_xml_list = []
      #
      # Configure the meta-model for the component
      #
      serializable_type_files_list = (
          the_parsed_component_xml.get_serializable_type_files()
      )
      for serializable_file in serializable_type_files_list:
          serializable_file = search_for_file("Serializable", serializable_file)
          xml_parser_obj = XmlSerializeParser.XmlSerializeParser(
              serializable_file
          )  # Telemetry/Params can only use generated serializable types
          # check to make sure that the serializables don't have things that channels and parameters can't have
          # can't have external non-xml members
          if len(xml_parser_obj.get_include_header_files()):
              print(
                  "ERROR: Component include serializables cannot use user-defined types. file: "
                  % serializable_file
              )
              sys.exit(-1)
  
          parsed_serializable_xml_list.append(xml_parser_obj)
          del xml_parser_obj
  
      model = CompFactory.CompFactory.getInstance()
      component_model = model.create(
          the_parsed_component_xml, parsed_port_xml_list, parsed_serializable_xml_list
      )
  
      return component_model
function_tokens: def parse_component ( the_parsed_component_xml , xml_filename , opt ) : global BUILD_ROOT # parsed_port_xml_list = [ ] # # Configure the meta-model for the component # port_type_files_list = the_parsed_component_xml . get_port_type_files ( ) for port_file in port_type_files_list : port_file = search_for_file ( "Port" , port_file ) xml_parser_obj = XmlPortsParser . XmlPortsParser ( port_file ) parsed_port_xml_list . append ( xml_parser_obj ) del xml_parser_obj parsed_serializable_xml_list = [ ] # # Configure the meta-model for the component # serializable_type_files_list = ( the_parsed_component_xml . get_serializable_type_files ( ) ) for serializable_file in serializable_type_files_list : serializable_file = search_for_file ( "Serializable" , serializable_file ) xml_parser_obj = XmlSerializeParser . XmlSerializeParser ( serializable_file ) # Telemetry/Params can only use generated serializable types # check to make sure that the serializables don't have things that channels and parameters can't have # can't have external non-xml members if len ( xml_parser_obj . get_include_header_files ( ) ) : print ( "ERROR: Component include serializables cannot use user-defined types. file: " % serializable_file ) sys . exit ( - 1 ) parsed_serializable_xml_list . append ( xml_parser_obj ) del xml_parser_obj model = CompFactory . CompFactory . getInstance ( ) component_model = model . create ( the_parsed_component_xml , parsed_port_xml_list , parsed_serializable_xml_list ) return component_model