/* This function processes the results of changes in configuration. */
EFI_STATUS EFIAPI PlatOverMngrRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
/* This function processes the results of changes in configuration. */
EFI_STATUS EFIAPI PlatOverMngrRouteConfig(IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This, IN CONST EFI_STRING Configuration, OUT EFI_STRING *Progress)
{
  EFI_CALLBACK_INFO    *Private;
  UINT16               KeyValue;
  PLAT_OVER_MNGR_DATA  *FakeNvData;
  EFI_STATUS           Status;
  if ((Configuration == NULL) || (Progress == NULL)) {
    return EFI_INVALID_PARAMETER;
  }
  *Progress = Configuration;
  if (!HiiIsConfigHdrMatch (Configuration, &gPlatformOverridesManagerGuid, mVariableName)) {
    return EFI_NOT_FOUND;
  }
  *Progress  = Configuration + StrLen (Configuration);
  Private    = EFI_CALLBACK_INFO_FROM_THIS (This);
  FakeNvData = &Private->FakeNvData;
  if (!HiiGetBrowserData (&gPlatformOverridesManagerGuid, mVariableName, sizeof (PLAT_OVER_MNGR_DATA), (UINT8 *)FakeNvData)) {
    return EFI_SUCCESS;
  }
  Status = EFI_SUCCESS;
  if (mCurrentPage == FORM_ID_ORDER) {
    KeyValue = KEY_VALUE_ORDER_SAVE_AND_EXIT;
    Status   = CommitChanges (Private, KeyValue, FakeNvData);
  }
  return Status;
}