Home | History | Annotate | Download | only in UiApp
      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 __FRONTPAGE_CUSTOMIZE_UI_SUPPORT_UI_H__
     16 #define __FRONTPAGE_CUSTOMIZE_UI_SUPPORT_UI_H__
     17 
     18 /**
     19   Create continue menu in the front 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 UiCreateContinueMenu (
     27   IN EFI_HII_HANDLE              HiiHandle,
     28   IN VOID                        *StartOpCodeHandle
     29   );
     30 
     31 /**
     32   Create empty line menu.
     33 
     34   @param    HiiHandle           The hii handle for the Uiapp driver.
     35   @param    StartOpCodeHandle   The opcode handle to save the new opcode.
     36 
     37 **/
     38 VOID
     39 UiCreateEmptyLine (
     40   IN EFI_HII_HANDLE              HiiHandle,
     41   IN VOID                        *StartOpCodeHandle
     42   );
     43 
     44 /**
     45   Create Select language menu in the front page with oneof opcode.
     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 UiCreateLanguageMenu (
     53   IN EFI_HII_HANDLE              HiiHandle,
     54   IN VOID                        *StartOpCodeHandle
     55   );
     56 
     57 /**
     58   Create Reset menu.
     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 UiCreateResetMenu (
     66   IN EFI_HII_HANDLE              HiiHandle,
     67   IN VOID                        *StartOpCodeHandle
     68   );
     69 
     70 /**
     71   Rename the driver name if necessary.
     72 
     73   @param    DriverName          Input the driver name.
     74   @param    NewDriverName       Return the new driver name.
     75   @param    EmptyLineAfter      Whether need to insert empty line.
     76 
     77   @retval   New driver name if compared, else NULL.
     78 
     79 **/
     80 typedef
     81 BOOLEAN
     82 (EFIAPI *DRIVER_SPECIAL_HANDLER)(
     83   IN  CHAR16                   *DriverName,
     84   OUT CHAR16                   **NewName,
     85   OUT BOOLEAN                  *EmptyLineAfter
     86 );
     87 
     88 /**
     89   Search the drivers in the system which need to show in the front page
     90   and insert the menu to the front page.
     91 
     92   @param    HiiHandle           The hii handle for the Uiapp driver.
     93   @param    ClassGuid           The class guid for the driver which is the target.
     94   @param    SpecialHandlerFn      The pointer to the specail handler function, if any.
     95   @param    StartOpCodeHandle   The opcode handle to save the new opcode.
     96 
     97   @retval   EFI_SUCCESS         Search the driver success
     98 
     99 **/
    100 EFI_STATUS
    101 UiListThirdPartyDrivers (
    102   IN EFI_HII_HANDLE              HiiHandle,
    103   IN EFI_GUID                    *ClassGuid,
    104   IN DRIVER_SPECIAL_HANDLER      SpecialHandlerFn,
    105   IN VOID                        *StartOpCodeHandle
    106   );
    107 
    108 /**
    109   This function processes the results of changes in configuration.
    110 
    111 
    112   @param HiiHandle       Points to the hii handle for this formset.
    113   @param Action          Specifies the type of action taken by the browser.
    114   @param QuestionId      A unique value which is sent to the original exporting driver
    115                          so that it can identify the type of data to expect.
    116   @param Type            The type of value for the question.
    117   @param Value           A pointer to the data being sent to the original exporting driver.
    118   @param ActionRequest   On return, points to the action requested by the callback function.
    119   @param Status          Return the handle status.
    120 
    121   @retval  TRUE          The callback successfully handled the action.
    122   @retval  FALSE         The callback not supported in this handler.
    123 
    124 **/
    125 BOOLEAN
    126 UiSupportLibCallbackHandler (
    127   IN  EFI_HII_HANDLE                         HiiHandle,
    128   IN  EFI_BROWSER_ACTION                     Action,
    129   IN  EFI_QUESTION_ID                        QuestionId,
    130   IN  UINT8                                  Type,
    131   IN  EFI_IFR_TYPE_VALUE                     *Value,
    132   OUT EFI_BROWSER_ACTION_REQUEST             *ActionRequest,
    133   OUT EFI_STATUS                             *Status
    134   );
    135 
    136 #endif
    137