From fa2d78c6088be96e755d97b1a72343753abec8d1 Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Thu, 4 Sep 2014 10:38:02 +0200 Subject: Add tools related for update b2qt-update-application is for doing the actual update. b2qt-update-util is for initiating and finishing the update. Change-Id: Ide1c1ba307d9346bacf83c507816feecefe87a16 Reviewed-by: Eirik Aavitsland --- src/b2qt-update-application/filewrapper.cpp | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/b2qt-update-application/filewrapper.cpp (limited to 'src/b2qt-update-application/filewrapper.cpp') diff --git a/src/b2qt-update-application/filewrapper.cpp b/src/b2qt-update-application/filewrapper.cpp new file mode 100644 index 0000000..6b4a759 --- /dev/null +++ b/src/b2qt-update-application/filewrapper.cpp @@ -0,0 +1,53 @@ +/**************************************************************************** +** +** Copyright (C) 2014 Digia Plc +** All rights reserved. +** For any questions to Digia, please use the contact form at +** http://qt.digia.com/ +** +** This file is part of Qt Enterprise Embedded. +** +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. +** +** If you have questions regarding the use of this file, please use +** the contact form at http://qt.digia.com/ +** +****************************************************************************/ + +#include "filewrapper.h" +#include +#include + +FileWrapper::FileWrapper(const QString &fileName, QObject *parent) + : QFile(fileName, parent) + , mTimer(new QTimer(this)) +{ + mTimer->setInterval(50); + connect(mTimer, &QTimer::timeout, this, &FileWrapper::emitReadyRead); +} + +FileWrapper::~FileWrapper() +{ +} + +bool FileWrapper::open(OpenMode mode) +{ + bool rc = QFile::open(mode); + if (rc) { + mTimer->start(); + } + return rc; +} + +void FileWrapper::emitReadyRead() +{ + if (!atEnd()) { + emit readyRead(); + } else { + mTimer->stop(); + close(); + } +} -- cgit v1.2.3