/** @file
  Google Test mocks for DevicePathLib

  Copyright (c) 2025, Yandex. All rights reserved.
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#pragma once

#include <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
  #include <Uefi.h>
  #include <Library/SecurityManagementLib.h>
}

struct MockSecurityManagementLib {
  MOCK_INTERFACE_DECLARATION (MockSecurityManagementLib);

  MOCK_FUNCTION_DECLARATION (
    EFI_STATUS,
    RegisterSecurityHandler,
    (IN  SECURITY_FILE_AUTHENTICATION_STATE_HANDLER  SecurityHandler,
     IN  UINT32                                      AuthenticationOperation)
    );

  MOCK_FUNCTION_DECLARATION (
    EFI_STATUS,
    ExecuteSecurityHandlers,
    (IN  UINT32                          AuthenticationStatus,
     IN  CONST EFI_DEVICE_PATH_PROTOCOL  *FilePath)
    );

  MOCK_FUNCTION_DECLARATION (
    EFI_STATUS,
    RegisterSecurity2Handler,
    (IN  SECURITY2_FILE_AUTHENTICATION_HANDLER   Security2Handler,
     IN  UINT32                                  AuthenticationOperation)
    );

  MOCK_FUNCTION_DECLARATION (
    EFI_STATUS,
    ExecuteSecurity2Handlers,
    (IN  UINT32                          AuthenticationOperation,
     IN  UINT32                          AuthenticationStatus,
     IN  CONST EFI_DEVICE_PATH_PROTOCOL  *File  OPTIONAL,
     IN  VOID                            *FileBuffer,
     IN  UINTN                           FileSize,
     IN  BOOLEAN                         BootPolicy)
    );
};
