mirror of
https://github.com/LongSoft/UEFITool.git
synced 2024-11-22 16:08:23 +08:00
48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
|
/* uefiextract.cpp
|
||
|
|
||
|
Copyright (c) 2014, Nikolaj Schlej. All rights reserved.
|
||
|
This program and the accompanying materials
|
||
|
are licensed and made available under the terms and conditions of the BSD License
|
||
|
which accompanies this distribution. The full text of the license may be found at
|
||
|
http://opensource.org/licenses/bsd-license.php
|
||
|
|
||
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||
|
|
||
|
*/
|
||
|
|
||
|
#include "uefiextract.h"
|
||
|
|
||
|
UEFIExtract::UEFIExtract(QObject *parent) :
|
||
|
QObject(parent)
|
||
|
{
|
||
|
ffsEngine = new FfsEngine(this);
|
||
|
}
|
||
|
|
||
|
UEFIExtract::~UEFIExtract()
|
||
|
{
|
||
|
delete ffsEngine;
|
||
|
}
|
||
|
|
||
|
UINT8 UEFIExtract::extractAll(QString path)
|
||
|
{
|
||
|
QFileInfo fileInfo = QFileInfo(path);
|
||
|
|
||
|
if (!fileInfo.exists())
|
||
|
return ERR_FILE_OPEN;
|
||
|
|
||
|
QFile inputFile;
|
||
|
inputFile.setFileName(path);
|
||
|
|
||
|
if (!inputFile.open(QFile::ReadOnly))
|
||
|
return ERR_FILE_OPEN;
|
||
|
|
||
|
QByteArray buffer = inputFile.readAll();
|
||
|
inputFile.close();
|
||
|
|
||
|
UINT8 result = ffsEngine->parseImageFile(buffer);
|
||
|
if (result)
|
||
|
return result;
|
||
|
|
||
|
return ERR_SUCCESS;
|
||
|
}
|