PROCEDURE rap$delete_name_resolver (
  terminate_active_connections, tac : boolean = false
  status)

*IF $variable(rav$proc_doc,declared)<>'UNKNOWN'

"    This request deletes the IPAM Domain Name Resolver.
*IFEND

  VAR
    command_file: string = '$local.'//$unique
    ignore_status: status
    local_status: status
    tcp_delete_status: status
    udp_delete_status: status
  VAREND

COLLECT_TEXT $fname(command_file) until='COLLECT_END'
  $system.osf$command_library.manage_network_applications

    deactivate_client client=osa$udp_domain_name_resolver ..
          tac=terminate_active_connections status=udp_delete_status
    IF udp_delete_status.normal OR ..
      ($condition(udp_delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_client client=osa$udp_domain_name_resolver status=udp_delete_status
    IFEND

    IF udp_delete_status.normal OR ..
      ($condition(udp_delete_status.condition) = 'NAE$UNKNOWN_APPLICATION') THEN
      udp_delete_status.normal = true
    IFEND

    deactivate_client client=osa$tcp_domain_name_resolver ..
          tac=terminate_active_connections status=tcp_delete_status
    IF tcp_delete_status.normal OR ..
      ($condition(tcp_delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_client client=osa$tcp_domain_name_resolver status=tcp_delete_status
    IFEND

    IF tcp_delete_status.normal OR ..
      ($condition(tcp_delete_status.condition) = 'NAE$UNKNOWN_APPLICATION') THEN
      tcp_delete_status.normal = true
    IFEND

    deactivate_tcpip_application application=osa$udp_domain_name_resolver ..
          tas=terminate_active_connections status=udp_delete_status
    IF udp_delete_status.normal OR ..
      ($condition(udp_delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_tcpip_application application=osa$udp_domain_name_resolver status=udp_delete_status
    IFEND

    IF udp_delete_status.normal OR ..
      ($condition(udp_delete_status.condition) = 'NAE$UNKNOWN_APPLICATION') THEN
      udp_delete_status.normal = true
    IFEND

    deactivate_tcpip_application application=osa$tcp_domain_name_resolver ..
          tas=$value(terminate_active_connections) ..
          status=tcp_delete_status
    IF tcp_delete_status.normal OR ..
      ($condition(tcp_delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_tcpip_application application=osa$tcp_domain_name_resolver status=tcp_delete_status
    IFEND

    IF tcp_delete_status.normal OR ..
      ($condition(tcp_delete_status.condition) = 'NAE$UNKNOWN_APPLICATION') THEN
      tcp_delete_status.normal = true
    IFEND

  quit
COLLECT_END

  include_file $fname(command_file) status=local_status
  delete_file $fname(command_file) status=ignore_status

  EXIT_PROC WITH local_status WHEN NOT local_status.normal
  EXIT_PROC WITH udp_delete_status WHEN NOT udp_delete_status.normal
  EXIT_PROC WITH tcp_delete_status WHEN NOT tcp_delete_status.normal

PROCEND rap$delete_name_resolver

