137 lines
3.9 KiB
C
137 lines
3.9 KiB
C
/** @file
|
|
Header file for process VFCF of form browser
|
|
|
|
;******************************************************************************
|
|
;* Copyright (c) 2015 - 2020, Insyde Software Corp. All Rights Reserved.
|
|
;*
|
|
;* You may not reproduce, distribute, publish, display, perform, modify, adapt,
|
|
;* transmit, broadcast, present, recite, release, license or otherwise exploit
|
|
;* any part of this publication in any form, by any means, without the prior
|
|
;* written permission of Insyde Software Corporation.
|
|
;*
|
|
;******************************************************************************
|
|
*/
|
|
|
|
#ifndef _FB_PROCESS_VFCF_H_
|
|
#define _FB_PROCESS_VFCF_H_
|
|
|
|
#include "InternalH2OFormBrowser.h"
|
|
#include <Library/HiiExLib.h>
|
|
|
|
#define IS_IMPORT_STATEMENT(Statement) ((BOOLEAN) (Statement != NULL && Statement->ImportInfo != NULL))
|
|
|
|
#define FORMSET_HII_RESOURCE_STRING_ID_INCREMENT 50
|
|
#define FORMSET_HII_RESOURCE_IMAGE_ID_INCREMENT 30
|
|
|
|
typedef struct _H2O_FORM_BROWSER_FORMSET_HII_RESOURCE H2O_FORM_BROWSER_FORMSET_HII_RESOURCE;
|
|
|
|
#define H2O_FORM_BROWSER_FORMSET_HII_RESOURCE_SIGNATURE SIGNATURE_32 ('H', 'F', 'H', 'R')
|
|
|
|
struct _H2O_FORM_BROWSER_FORMSET_HII_RESOURCE {
|
|
UINTN Signature;
|
|
LIST_ENTRY Link;
|
|
EFI_HII_HANDLE HiiHandle;
|
|
EFI_GUID FormSetGuid;
|
|
|
|
//
|
|
// Record allocated HII resource which can be reused when form browser refresh formset.
|
|
//
|
|
EFI_STRING_ID *NewStringIdList;
|
|
UINT16 NewStringIdCount;
|
|
UINT16 NewStringIdIndex;
|
|
|
|
EFI_IMAGE_ID *NewImageIdList;
|
|
UINT16 NewImageIdCount;
|
|
UINT16 NewImageIdIndex;
|
|
};
|
|
|
|
#define H2O_FORM_BROWSER_FORMSET_HII_RESOURCE_FROM_LINK(a) CR (a, H2O_FORM_BROWSER_FORMSET_HII_RESOURCE, Link, H2O_FORM_BROWSER_FORMSET_HII_RESOURCE_SIGNATURE)
|
|
|
|
FORM_BROWSER_STATEMENT *
|
|
CreateDisabledStatementInLastForm (
|
|
IN FORM_BROWSER_FORMSET *SrcFormSet,
|
|
IN FORM_BROWSER_STATEMENT *SrcStatement,
|
|
IN FORM_BROWSER_FORMSET *DstFormSet
|
|
);
|
|
|
|
EFI_STATUS
|
|
CopyExpression (
|
|
IN FORM_BROWSER_FORMSET *SrcFormSet,
|
|
IN FORM_EXPRESSION *SrcExpression,
|
|
IN FORM_BROWSER_FORMSET *DstFormSet,
|
|
IN FORM_BROWSER_FORM *DstForm,
|
|
IN OUT FORM_EXPRESSION **DstExpression
|
|
);
|
|
|
|
BOOLEAN
|
|
HaveImportQuestion (
|
|
IN FORM_BROWSER_FORM *Form
|
|
);
|
|
|
|
BOOLEAN
|
|
HaveImportScuQuestion (
|
|
IN FORM_BROWSER_FORMSET *FormSet,
|
|
IN FORM_BROWSER_FORM *Form
|
|
);
|
|
|
|
H2O_FORM_BROWSER_FORMSET_HII_RESOURCE *
|
|
GetFormSetHiiResource (
|
|
IN FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
FORM_BROWSER_STATEMENT *
|
|
GetStatementByQuestionId (
|
|
IN FORM_BROWSER_FORMSET *FormSet,
|
|
IN FORM_BROWSER_FORM *Form OPTIONAL,
|
|
IN EFI_QUESTION_ID QuestionId
|
|
);
|
|
|
|
FORM_BROWSER_STATEMENT *
|
|
GetNewStatement (
|
|
IN FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
EXPRESSION_OPCODE *
|
|
GetNewExpressionOpCode (
|
|
IN FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
EFI_STATUS
|
|
FBProcessImport (
|
|
IN OUT FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
EFI_STATUS
|
|
FBProcessVfcfProperty (
|
|
IN FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
EFI_STATUS
|
|
FBProcessVfcfExpression (
|
|
IN FORM_BROWSER_FORMSET *FormSet
|
|
);
|
|
|
|
VOID
|
|
DestroyImportFormSet (
|
|
VOID
|
|
);
|
|
|
|
VOID
|
|
ReloadHiiFormsetWithStaleImportData (
|
|
VOID
|
|
);
|
|
|
|
FORM_BROWSER_FORMSET *
|
|
GetFormSetByFormSetGuid (
|
|
IN EFI_GUID *FormSetGuid,
|
|
...
|
|
);
|
|
|
|
FORM_BROWSER_FORMSET *
|
|
CreateImportFormSet (
|
|
IN EFI_GUID *ImportFormsetGuid
|
|
);
|
|
|
|
extern LIST_ENTRY mH2OBrowserImportFormSetList;
|
|
#endif
|