Ejemplo n.º 1
0
LockedFile::LockedFile(QResource *const resource, const QString &outPath, const QByteArray &expectedHash, const bool bOwnsFile)
:
	m_bOwnsFile(bOwnsFile),
	m_filePath(QFileInfo(outPath).absoluteFilePath())
{
	m_fileDescriptor = -1;
	HANDLE fileHandle = NULL;
		
	//Make sure the resource is valid
	if(!(resource->isValid() && resource->data()))
	{
		MUTILS_THROW_FMT("The resource at %p is invalid!", resource);
	}

	//Write data to output file
	QFile outFile(m_filePath);
	doWriteOutput(outFile, resource);

	//Now lock the file!
	doLockFile(fileHandle, m_filePath, &outFile);

	//Get file descriptor
	doInitFileDescriptor(fileHandle, m_fileDescriptor);

	//Validate file hash
	doValidateHash(fileHandle, m_fileDescriptor, expectedHash, m_filePath);
}
Ejemplo n.º 2
0
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent), ui(new Ui::MainWindow), sourceLoader() {

    //QSqlDatabase p
    ui->setupUi(this);
    ui->timTreeWidget->header()->close();
    this->document = ui->sourceTextEdit->document();

    guiMacro = new UpdatedGuiMacroProcessor(false, ui->sourceTextEdit->document());

    connect(guiMacro, SIGNAL(finished()), this, SLOT(processClearSelection()));
    connect(ui->timTreeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(handleTimClick(QTreeWidgetItem*,int)));

    connect(guiMacro, SIGNAL(doSelectLineInOutput(int)), this, SLOT(processSelectLineInOutput(int)));
    connect(guiMacro, SIGNAL(doSelectLineInSource(int)), this, SLOT(processSelectLineInSource(int)));
    connect(guiMacro, SIGNAL(doWriteOutput(QList<QStringList>)), this, SLOT(processWriteOutput(QList<QStringList>)));
    connect(guiMacro, SIGNAL(doWriteError(QString)), this, SLOT(processWriteError(QString)));
    connect(guiMacro, SIGNAL(doPopulateTim(Macro)), this, SLOT(processPopulateTim(Macro)));
}