Add in support for GetNextTokenNumber API.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Test / PcdTest.c
index 21fa67a6aa9789e1a9d9642cf251c37b400f9af7..6f2a5f1f1f4122a7566b3fdfeb8714879f6dfcc0 100644 (file)
@@ -23,9 +23,10 @@ CONST GUID Guid1  = GUID1;
 EFI_STATUS\r
 EFIAPI\r
 OnsetCallback1 (\r
-  IN  UINT32    CallBackToken,\r
-  IN  VOID      *TokenData,\r
-  IN  UINTN     TokenDataSize\r
+  IN  CONST EFI_GUID  *Guid,\r
+  IN  UINT32          CallBackToken,\r
+  IN  VOID            *TokenData,\r
+  IN  UINTN           TokenDataSize\r
   )\r
 {\r
   DebugPrint (0x80000000, "In CallbackOnSet %x %d\n", * ((UINT32 *)TokenData), TokenDataSize);    \r
@@ -42,6 +43,10 @@ DoTest(
   UINT16    u16;\r
   UINT32    u32;\r
   UINT64    u64;\r
+  PCD_TOKEN_NUMBER Token;\r
+  \r
+\r
+  LibPcdCallbackOnSet (NULL, PcdToken(PcdTestDynamicUint32), OnsetCallback1);\r
   \r
   u32 = 0xafafafaf;\r
   PcdSet32(PcdTestDynamicUint32, u32);\r
@@ -57,6 +62,15 @@ DoTest(
   ASSERT (u16 == 0x1234);\r
   ASSERT (u64 == PcdGet64(PcdTestDynamicUint64));\r
   ASSERT (u32 == PcdGet32(PcdTestDynamicUint32));\r
+\r
+\r
+  Token = PCD_INVALID_TOKEN_NUMBER;\r
+\r
+  do {\r
+    Token = LibPcdGetNextToken (NULL, Token);\r
+    DebugPrint (EFI_D_ERROR, "Next Token Number is %d\n", Token);\r
+  } while (Token != PCD_INVALID_TOKEN_NUMBER);\r
+  \r
   \r
   return;\r
 }\r