Home | History | Annotate | Download | only in BootMaintenanceManagerUiLib
      1 /** @file
      2   This library class defines a set of interfaces to be used by customize Ui module
      3 
      4 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
      5 This program and the accompanying materials are licensed and made available under
      6 the terms and conditions of the BSD License that accompanies this distribution.
      7 The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php.
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef __BOOT_MAINTENANCE_MANAGER_UI_LIB_H__
     16 #define __BOOT_MAINTENANCE_MANAGER_UI_LIB_H__
     17 
     18 /**
     19   Create Time Out Menu in the page.
     20 
     21   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     22   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     23 
     24 **/
     25 VOID
     26 BmmCreateTimeOutMenu (
     27   IN EFI_HII_HANDLE              HiiHandle,
     28   IN VOID                        *StartOpCodeHandle
     29   );
     30 
     31 /**
     32   Create the dynamic item to allow user to set the "BootNext" vaule.
     33 
     34   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     35   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     36 
     37 **/
     38 VOID
     39 BmmCreateBootNextMenu(
     40   IN EFI_HII_HANDLE              HiiHandle,
     41   IN VOID                        *StartOpCodeHandle
     42   );
     43 
     44 /**
     45   Create Boot Option menu in the page.
     46 
     47   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     48   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     49 
     50 **/
     51 VOID
     52 BmmCreateBootOptionMenu (
     53   IN EFI_HII_HANDLE              HiiHandle,
     54   IN VOID                        *StartOpCodeHandle
     55   );
     56 
     57 /**
     58   Create Driver Option menu in the page.
     59 
     60   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     61   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     62 
     63 **/
     64 VOID
     65 BmmCreateDriverOptionMenu (
     66   IN EFI_HII_HANDLE              HiiHandle,
     67   IN VOID                        *StartOpCodeHandle
     68   );
     69 
     70 /**
     71   Create Com Option menu in the page.
     72 
     73   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     74   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     75 
     76 **/
     77 VOID
     78 BmmCreateComOptionMenu (
     79   IN EFI_HII_HANDLE              HiiHandle,
     80   IN VOID                        *StartOpCodeHandle
     81   );
     82 
     83 /**
     84   Create Com Option menu in the page.
     85 
     86   @param[in]    HiiHandle           The hii handle for the Uiapp driver.
     87   @param[in]    StartOpCodeHandle   The opcode handle to save the new opcode.
     88 
     89 **/
     90 VOID
     91 BmmCreateBootFromFileMenu (
     92   IN EFI_HII_HANDLE              HiiHandle,
     93   IN VOID                        *StartOpCodeHandle
     94   );
     95 
     96 /**
     97   Create empty line menu in the front page.
     98 
     99   @param    HiiHandle           The hii handle for the Uiapp driver.
    100   @param    StartOpCodeHandle   The opcode handle to save the new opcode.
    101 
    102 **/
    103 VOID
    104 BmmCreateEmptyLine (
    105   IN EFI_HII_HANDLE              HiiHandle,
    106   IN VOID                        *StartOpCodeHandle
    107   );
    108 
    109 /**
    110   Rename the driver name if necessary.
    111 
    112   @param    DriverName          Input the driver name.
    113   @param    NewDriverName       Return the new driver name.
    114   @param    EmptyLineAfter      Whether need to insert empty line.
    115 
    116   @retval   New driver name if compared, else NULL.
    117 
    118 **/
    119 typedef
    120 EFI_STATUS
    121 (EFIAPI *DRIVER_SPECIAL_HANDLER)(
    122   IN  CHAR16                   *DriverName,
    123   OUT CHAR16                   **NewName,
    124   OUT BOOLEAN                  *EmptyLineAfter
    125 );
    126 
    127 /**
    128   Search the drivers in the system which need to show in the front page
    129   and insert the menu to the front page.
    130 
    131   @param    HiiHandle           The hii handle for the Uiapp driver.
    132   @param    ClassGuid           The class guid for the driver which is the target.
    133   @param    SpecialHandlerFn      The pointer to the specail handler function, if any.
    134   @param    StartOpCodeHandle   The opcode handle to save the new opcode.
    135 
    136   @retval   EFI_SUCCESS         Search the driver success
    137 
    138 **/
    139 EFI_STATUS
    140 BmmListThirdPartyDrivers (
    141   IN EFI_HII_HANDLE              HiiHandle,
    142   IN EFI_GUID                    *ClassGuid,
    143   IN DRIVER_SPECIAL_HANDLER      SpecialHandlerFn,
    144   IN VOID                        *StartOpCodeHandle
    145   );
    146 
    147 #endif
    148