mirror of
				https://gitlab.com/qemu-project/edk2.git
				synced 2025-11-03 07:59:00 +08:00 
			
		
		
		
	MdePkg: Added MockHiiDatabase protocol
Signed-off-by: Bhavani Subramanian <v-bhavanisu@microsoft.com>
This commit is contained in:
		
				
					committed by
					
						
						mergify[bot]
					
				
			
			
				
	
			
			
			
						parent
						
							3d9de5d046
						
					
				
				
					commit
					9c1259b4ed
				
			
							
								
								
									
										162
									
								
								MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHiiDatabase.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								MdePkg/Test/Mock/Include/GoogleTest/Protocol/MockHiiDatabase.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,162 @@
 | 
			
		||||
/** @file MockHiiDatabase.h
 | 
			
		||||
  This file declares a mock of HiiDatabase Protocol.
 | 
			
		||||
 | 
			
		||||
  Copyright (c) Microsoft Corporation.
 | 
			
		||||
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
			
		||||
**/
 | 
			
		||||
 | 
			
		||||
#ifndef MOCK_HII_DATABASE_H
 | 
			
		||||
#define MOCK_HII_DATABASE_H
 | 
			
		||||
 | 
			
		||||
#include <Library/GoogleTestLib.h>
 | 
			
		||||
#include <Library/FunctionMockLib.h>
 | 
			
		||||
 | 
			
		||||
extern "C" {
 | 
			
		||||
  #include <Uefi.h>
 | 
			
		||||
  #include <Protocol/HiiDatabase.h>
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct MockHiiDatabaseProtocol {
 | 
			
		||||
  MOCK_INTERFACE_DECLARATION (MockHiiDatabaseProtocol);
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    NewPackageList,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL   *This,
 | 
			
		||||
     IN CONST  EFI_HII_PACKAGE_LIST_HEADER *PackageList,
 | 
			
		||||
     IN        EFI_HANDLE                  DriverHandle  OPTIONAL,
 | 
			
		||||
     OUT       EFI_HII_HANDLE               *Handle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    RemovePackageList,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN        EFI_HII_HANDLE             Handle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    UpdatePackageList,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL   *This,
 | 
			
		||||
     IN        EFI_HII_HANDLE               Handle,
 | 
			
		||||
     IN CONST  EFI_HII_PACKAGE_LIST_HEADER *PackageList
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    ListPackageLists,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN        UINT8                     PackageType,
 | 
			
		||||
     IN CONST  EFI_GUID                  *PackageGuid,
 | 
			
		||||
     IN OUT    UINTN                     *HandleBufferLength,
 | 
			
		||||
     OUT       EFI_HII_HANDLE            *Handle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    ExportPackageLists,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL      *This,
 | 
			
		||||
     IN        EFI_HII_HANDLE                 Handle,
 | 
			
		||||
     IN OUT    UINTN                          *BufferSize,
 | 
			
		||||
     OUT       EFI_HII_PACKAGE_LIST_HEADER    *Buffer
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    RegisterPackageNotify,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL     *This,
 | 
			
		||||
     IN        UINT8                         PackageType,
 | 
			
		||||
     IN CONST  EFI_GUID                      *PackageGuid,
 | 
			
		||||
     IN        EFI_HII_DATABASE_NOTIFY       PackageNotifyFn,
 | 
			
		||||
     IN        EFI_HII_DATABASE_NOTIFY_TYPE  NotifyType,
 | 
			
		||||
     OUT       EFI_HANDLE                    *NotifyHandle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    UnregisterPackageNotify,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN        EFI_HANDLE                NotificationHandle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    FindKeyboardLayouts,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN OUT    UINT16                    *KeyGuidBufferLength,
 | 
			
		||||
     OUT       EFI_GUID                  *KeyGuidBuffer
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    GetKeyboardLayout,
 | 
			
		||||
    (IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN CONST  EFI_GUID                  *KeyGuid,
 | 
			
		||||
     IN OUT UINT16                       *KeyboardLayoutLength,
 | 
			
		||||
     OUT       EFI_HII_KEYBOARD_LAYOUT   *KeyboardLayout)
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    SetKeyboardLayout,
 | 
			
		||||
    (IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN CONST  EFI_GUID                  *KeyGuid)
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
  MOCK_FUNCTION_DECLARATION (
 | 
			
		||||
    EFI_STATUS,
 | 
			
		||||
    GetPackageListHandle,
 | 
			
		||||
    (
 | 
			
		||||
     IN CONST  EFI_HII_DATABASE_PROTOCOL *This,
 | 
			
		||||
     IN        EFI_HII_HANDLE             PackageListHandle,
 | 
			
		||||
     OUT       EFI_HANDLE                *DriverHandle
 | 
			
		||||
    )
 | 
			
		||||
    );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
MOCK_INTERFACE_DEFINITION (MockHiiDatabaseProtocol);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, NewPackageList, 4, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, RemovePackageList, 2, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, UpdatePackageList, 3, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, ListPackageLists, 5, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, ExportPackageLists, 4, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, RegisterPackageNotify, 6, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, UnregisterPackageNotify, 2, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, FindKeyboardLayouts, 3, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, GetKeyboardLayout, 4, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, SetKeyboardLayout, 2, EFIAPI);
 | 
			
		||||
MOCK_FUNCTION_DEFINITION (MockHiiDatabaseProtocol, GetPackageListHandle, 3, EFIAPI);
 | 
			
		||||
 | 
			
		||||
#define MOCK_EFI_HII_DATABASE_PROTOCOL_INSTANCE(NAME) \
 | 
			
		||||
  EFI_HII_DATABASE_PROTOCOL NAME##_INSTANCE = {       \
 | 
			
		||||
    NewPackageList,                                   \
 | 
			
		||||
    RemovePackageList,                                \
 | 
			
		||||
    UpdatePackageList,                                \
 | 
			
		||||
    ListPackageLists,                                 \
 | 
			
		||||
    ExportPackageLists,                               \
 | 
			
		||||
    RegisterPackageNotify,                            \
 | 
			
		||||
    UnregisterPackageNotify,                          \
 | 
			
		||||
    FindKeyboardLayouts,                              \
 | 
			
		||||
    GetKeyboardLayout,                                \
 | 
			
		||||
    SetKeyboardLayout,                                \
 | 
			
		||||
    GetPackageListHandle };                           \
 | 
			
		||||
  EFI_HII_DATABASE_PROTOCOL  *NAME =  &NAME##_INSTANCE;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
		Reference in New Issue
	
	Block a user