// Registers Rocket's default parsers.
void StyleSheetSpecification::RegisterDefaultParsers()
{
	RegisterParser("number", new PropertyParserNumber());
	RegisterParser("keyword", new PropertyParserKeyword());
	RegisterParser("string", new PropertyParserString());
	RegisterParser(COLOR, new PropertyParserColour());
}
Ejemplo n.º 2
0
/** This function registers all the available table parsers.

  @retval EFI_SUCCESS           The parser is registered.
  @retval EFI_ALREADY_STARTED   The parser for the ACPI Table
                                was already registered.
  @retval EFI_INVALID_PARAMETER A parameter is invalid.
  @retval EFI_OUT_OF_RESOURCES  No space to register the
                                parser.
*/
EFI_STATUS
RegisterAllParsers (
  )
{
  EFI_STATUS Status;
  UINTN Count = sizeof (ParserList) / sizeof (ParserList[0]);
  while (Count-- != 0) {
    Status = RegisterParser (
               ParserList[Count].Signature,
               ParserList[Count].Parser
               );
    if (EFI_ERROR (Status)) {
      return Status;
    }
  }
  return Status;
}
Ejemplo n.º 3
0
NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath)
{
	NTSTATUS status = STATUS_SUCCESS;
	VstorParserInfo ParserInfo = { 0 };
    PDEVICE_OBJECT pDeviceObject = NULL;
    EVHD_EXT_CAPABILITIES Caps;

    pDriverObject->DriverUnload = EVhdDriverUnload;

    status = Ext_Initialize(&Caps);
    if (!NT_SUCCESS(status))
    {
        DbgPrint("Failed to initialize extension: %X\n", status);
        return status;
    }

    status = DPT_Initialize(pDriverObject, pRegistryPath, &pDeviceObject);
    if (!NT_SUCCESS(status))
    {
        DbgPrint("DPT_Initialize failed with error: 0x%08X\n", status);
        return status;
    }

    status = Log_Initialize(pDeviceObject, pRegistryPath);
    if (!NT_SUCCESS(status))
    {
        DbgPrint("Log_Initialize failed with error: 0x%08X\n", status);
        return status;
    }

	ParserInfo.qwVersion = 0;
	ParserInfo.qwUnk1 = 0;
	ParserInfo.qwUnk2 = 1;
	ParserInfo.qwUnk3 = 1;
	ParserInfo.pDriverObject = pDriverObject;
	ParserInfo.pfnParserInit = EVhd_Init;
	ParserInfo.pfnParserCleanup = EVhd_Cleanup;
	ParserInfo.pfnParserGetGeometry = EVhd_GetGeometry;
	ParserInfo.pfnParserGetCapabilities = EVhd_GetCapabilities;
	ParserInfo.pfnParserMount = EVhd_Mount;
	ParserInfo.pfnParserExecuteSrb = EVhd_ExecuteSrb;
	ParserInfo.pfnParserBeginSave = EVhd_BeginSave;
	ParserInfo.pfnParserSaveData = EVhd_SaveData;
	ParserInfo.pfnParserBeginRestore = EVhd_BeginRestore;
	ParserInfo.pfnParserRestoreData = EVhd_RestoreData;
	ParserInfo.pfnParserSetCacheState = EVhd_SetCacheState;
	status = EVhdDriverLoad(&ParserInfo.dwBalancerId);
	if (!NT_SUCCESS(status))
	{
        DbgPrint("EVhdDriverLoad failed with error: 0x%08X\n", status);
		return status;
	}

	status = RegisterParser(&ParserInfo);
	if (!NT_SUCCESS(status))
	{
        DbgPrint("RegisterParser failed with error: 0x%08X\n", status);
		return status;
	}

	return status;
}