VOID RegisterNewType (IN SVfrDataType *);\r
\r
EFI_VFR_RETURN_CODE ExtractStructTypeName (IN CHAR8 *&, OUT CHAR8 *);\r
- EFI_VFR_RETURN_CODE GetTypeField (IN CHAR8 *, IN SVfrDataType *, IN SVfrDataField *&);\r
+ EFI_VFR_RETURN_CODE GetTypeField (IN CONST CHAR8 *, IN SVfrDataType *, IN SVfrDataField *&);\r
EFI_VFR_RETURN_CODE GetFieldOffset (IN SVfrDataField *, IN UINT32, OUT UINT32 &);\r
UINT8 GetFieldWidth (IN SVfrDataField *);\r
UINT32 GetFieldSize (IN SVfrDataField *, IN UINT32);\r
VOID RegisterNewDateQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
VOID RegisterOldTimeQuestion (IN CHAR8 *, IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
VOID RegisterNewTimeQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &);\r
+ VOID RegisterRefQuestion (IN CHAR8 *, IN CHAR8 *, IN OUT EFI_QUESTION_ID &); \r
EFI_VFR_RETURN_CODE UpdateQuestionId (IN EFI_QUESTION_ID, IN EFI_QUESTION_ID);\r
VOID GetQuestionId (IN CHAR8 *, IN CHAR8 *, OUT EFI_QUESTION_ID &, OUT UINT32 &, OUT EFI_QUESION_TYPE *QType = NULL);\r
EFI_VFR_RETURN_CODE FindQuestion (IN EFI_QUESTION_ID);\r
UINT8 GetRuleId (IN CHAR8 *);\r
};\r
\r
+class CVfrStringDB {\r
+private:\r
+ CHAR8 *mStringFileName;\r
+\r
+ EFI_STATUS FindStringBlock (\r
+ IN UINT8 *StringData,\r
+ IN EFI_STRING_ID StringId,\r
+ OUT UINT32 *StringTextOffset,\r
+ OUT UINT8 *BlockType\r
+ );\r
+\r
+ UINT32 GetUnicodeStringTextSize (\r
+ IN UINT8 *StringSrc\r
+ );\r
+\r
+public:\r
+ CVfrStringDB ();\r
+ ~CVfrStringDB ();\r
+\r
+ VOID SetStringFileName (\r
+ IN CHAR8 *StringFileName\r
+ );\r
+\r
+ CHAR8 * GetVarStoreNameFormStringId (\r
+ IN EFI_STRING_ID StringId\r
+ );\r
+\r
+};\r
+\r
#endif\r